我正在码头容器中运行我的python测试。下面是使用.2.7.2 6.6安装python .2.7.2的Dockerfile的一部分:
RUN cd /tmp && \
wget https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz && \
tar xvfz Python-2.7.2.tgz && \
cd Python-2.7.2 && \
./configure --prefix=/usr/local && \
make && \
make altinstall
RUN ln -s /usr/local/bin/python2.7 /usr/local/bin/python
RUN wget https://bootstrap.pypa.io/ez_setup.py -O - | /usr/local/bin/python2.7
RUN /usr/local/bin/easy_install-2.7 pip
RUN pip install python-gflags sqlparse pyyaml requests HTTPretty在docker容器中运行测试时,我得到了一个异常:
import io
# some code here...
buf = io.StringIO(data)
AttributeError: 'module' object has no attribute 'StringIO'在本地或服务器env上运行测试时,我不会得到此异常。
我试图在docker容器中执行简单的脚本:
import io
print io.StringIO(None)效果很好。我很困惑。这里有什么问题吗?
@Blckknght,您是对的,代码有一个名为io的模块:
io.__file__ ::: /root/containerfolder/proejct/py/src/common/io.pyc。但我只能在码头上复制。当我将代码复制到服务器或运行本地时,我就正确了。
io.__file__ ::: /opt/py/ext/python-2.7.2/lib/python2.7/io.pyc
修复它的正确方法是什么?将模块重命名为:)?
答案:
这是个不错的挑战,谢谢:)
发布于 2015-11-27 11:45:22
这是个不错的挑战,谢谢:)
https://stackoverflow.com/questions/33927071
复制相似问题