Tag: python

无法使用geopandas加载GDB文件

尝试在Docker容器内使用geopandas (版本0.2.1 )加载地理数据库文件时,出现奇怪的超时错误(图像具有Ubuntu 16.04 LTS,Python版本2.7.13。 In [1]: import geopandas In [2]: import os In [3]: polys = geopandas.GeoDataFrame.from_file(os.path.join('/my/data/folder/', 'VRG_01.gdb'), layer='VRG') Killed root@75d68acd876e:# 我在geopandas.GeoDataFrame.from_file()调用后5-6分钟在控制台上看到Killed消息。 以前这用于工作,底层数据文件没有任何问题。

基于Docker的环境configuration中的mod_wsgi

我需要设置:closuresWSGIRestrictSignal,因为我必须在调用正常关机后在我的python代码中执行一些操作。 从文档: 运行良好的Python WSGI应用程序通常不应该使用signal.signal()来注册任何自己的信号处理程序。 这样做的原因是,托pipeWSGI应用程序的Web服务器将更有可能注册自己的信号处理程序。 如果WSGI应用程序要覆盖这样的信号处理程序,它可能会干扰Web服务器的操作,从而阻止诸如服务器closures和重新启动等操作。 你知道如何在Docker中更改configuration文件吗? 我应该覆盖现有的文件吗? 这是我的Dockerfile: FROM grahamdumpleton/mod-wsgi-docker:python-2.7 ADD requirements.txt requirements.txt RUN ["pip", "install", "-r", "requirements.txt"] WORKDIR /app COPY src/main/scripts/app.wsgi /app/app.wsgi ENTRYPOINT [ "mod_wsgi-docker-start" ] CMD [ "app.wsgi", "–processes", "1", "–port", "5000" ] 我应该放这样的东西吗? ADD "httpd.conf" /tmp/mod_wsgi-localhost:5000:0/httpd.conf 至于我得到了mod_wsgi-docker-start“通过select”默认“configuration来执行所有的事情。 由于WSGIRestrictSignal设置为On“Default”,因此如果引发信号就不可能捕获: Server URL : http://localhost:5000/ Server Root : /tmp/mod_wsgi-localhost:5000:0 Server Conf : /tmp/mod_wsgi-localhost:5000:0/httpd.conf Error […]

在Docker容器上运行时,phantomjs需要Fusion.app库

我试图在docker image python:2.7-alpine上运行phantomjs python:2.7-alpine使用phantomjs-2.1.1-linux-x86_64.tar.bz2的二进制文件。 但是当我用selenium调用我的Python脚本时,我得到了以下消息: h: Fusion.app/Contents/Library/: not found 安静地确定这是与VMWare有关,但不知道为什么这会在docker集装箱上popup。 这是我的docker代码: docker run –rm \ -e DEBUG=1 \ -v $$PWD:/root \ -w /root \ –net=mytests_default \ python:2.7-alpine \ sh -c " pip install requests selenium && \ PATH=phantomjs-2.1.1-linux-x86_64/bin/:$$PATH python $(test)"

opencv导入在windows容器中失败(在Windows Server 2016上)

我运行以下容器来testingWindows Server 2016上的opencv-python环境。 docker run -i –rm python:2.7-windowsservercore ( python:2.7-windowsservercore映像是基于microsoft/windowsservercore的官方python映像) 并在交互控制台,我得到了opencv-python安装: pip install opencv-python 完成之后,我testing了opencv-python包: python -c "import cv2" 但我得到了以下错误: Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python\lib\site-packages\cv2\__init__.py", line 9, in <module> from .cv2 import * ImportError: DLL load failed: The specified module could not be found. 然后我在主机上安装python-2.7.13(不在容器内),input相同的pip install命令,再次testingpython -c […]

如果我更改一个文件,是否需要在Docker容器中重buildpython库?

我正在使用cleverhans库来完成我的项目。 但是,在当前版本的cleverhans / attacks.py中提供的CarliniWagnerL2类实际上在Docker的版本中是缺less的。 所以我试着手动编译当前版本的python文件到.pyc文件并运行以下命令 docker cp host_address containerID:/address/ 用新文件replace旧文件。 我已经testing了docker中的文件已经更改为我的当前版本。 但是,当我尝试从cleverhans导入类CarliniWagnerL2,同样的错误说 from cleverhans.attacks import CarliniWagnerL2 ImportError: cannot import name CarliniWagnerL2 我需要重build容器吗? 另外,由于cleverhans不提供我的DockerFile和其他东西,如果我需要重buildpython库,我应该如何重build图像? 谢谢

在ubuntu 12.04 docker镜像上安装pip3

我正试图在Docker镜像上安装和安装pip3。 使用的初始configuration是 FROM ubuntu:12.04 MAINTAINER Candidate @ Ctx <candidate@caltex.com.au> LABEL "name"="Troubleshooting Test" USER root ENV PY_DIR /home/dev 关于这个我参考了一些post( https://askubuntu.com/questions/412178/how-to-install-pip-for-python-3-in-ubuntu-12-04-lts )后,我下面的步骤: RUN apt-get update && apt-get install -y \ software-properties-common python-software-properties RUN add-apt-repository ppa:fkrull/deadsnakes RUN apt-get update && apt-get install -y \ python3 \ build-essential \ python3-setuptools \ python-dev RUN easy_install3 pip 输出是突然的,包含: File "build/bdist.linux-x86_64/egg/pip/_vendor/progress/spinner.py", line […]

Docker-py库自动执行docker容器

我正在学习docker-py库,在库中使用create_container函数我们可以很容易地创build多个容器,但是我想在这里做的事情是在这个函数中传递多个参数,在bash中我运行的是用于创build容器的命令是喜欢这个; docker run -it –cap-add=NET_ADMIN –device /dev/net/tun –name hello1i -v /root/one.txt:/root/one.txt -e VARIABLE='hello-world' -d myimage:hello /bin/bash start.sh 现在我想要的是使用docker-py库执行这个命令,使用create_container函数,但是我不清楚如何将这些参数(“ – cap-ad”,“device”,“-e”)传递给它? 有谁能够帮助我 ?

在miniconda2 docker容器中安装tensorflow,theano,sklearn,nltk

我已经拉conda / miniconda2图像,我能够运行它,但是当我重新启动容器时,所做的任何更改。 因为我是docker工人,所以我不太了解。 我的问题是,我怎样才能写一个docker文件,以便像tensorflow theano等所有库安装在它?

Redis的python不能在Docker中创build本地服务器

所以我有这样的设置,在一个Docker容器中,我需要运行一个Python库testing套件(为我公司devise),在我的Redis Connectortesting套件中,创build一个locaclhost:6379 redis服务器被拒绝。 redis.exceptions.ConnectionError:错误111连接到本地主机:6379。 拒绝连接。 test_redis.py在具有nose的开放环境中传递,但在持续集成(在Docker中)失败。 Docker是否阻塞所有的localhost服务,或者我使用了错误的方法? build立 Ubuntu 17.04 Docker版本1.12.6,build 78d1802 Dockerfile: FROM continuumio/miniconda3:4.3.14 MAINTAINER … <…@fifty-five.com> WORKDIR /app RUN which conda && which python && which pip && apt update && apt install -y build-essential libblas-dev liblapack-dev libatlas-base-dev gfortran RUN conda install -y numpy && conda install -y scikit-learn && conda install -y […]

kill +启动docker映像后TCP连接失败

背景 我有多个Python应用程序在同一台机器上的泊坞窗运行。 每个python应用程序使用twisted来创build服务器和客户端以TCP进行通信,每个进程侦听的端口都被configuration在一个静态文件中。 问题 有时,只有有时,当我重新启动一个或多个docker图像(我使用docker kill和docker run ),有一个机会,一个应用程序使用之前使用的端口仍在使用。 在docker run命令后, twisted会Unhandled error in Deferred: Error(没有更多的细节,只有这一行,可能是因为我的日志configuration)抛出Unhandled error in Deferred: ,当且仅当它是有问题的。 然后我用netstat -ntlp来检查那个特定的端口,我发现这个端口没有被监听。 而我尝试nc -l [PORT] ,它返回Address already in use 。 另外,我使用netstat -a | grep ESTABLISHED netstat -a | grep ESTABLISHED找出一些进程已经build立到该端口的TCP连接。 意思是我试图暂时解决这个问题 我重新启动了有问题的Docker镜像,直到听到端口。 我杀了以前与有问题的docker图像通信的其他docker图像,然后重新启动所有死亡的图像。 什么是预期的 我想知道为什么发生这种情况,以及如何解决这个问题。 我不想每次重新启动泊坞窗图像时检查netstat -ntlp 。 环境 : 操作系统: Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-53-generic […]