我使用virtualenv来设置python环境来运行一些脚本。当我运行脚本时,我只收到了一个包的导入错误-gdata。在
我可以在控制台中手动激活我的virtualenv,进入解释器交互模式,并成功地将gdata模块导入其中而不会出错。但是当我从我的虚拟env中运行一个脚本时,它导入了完全相同的模块,我得到ImportError
Traceback (most recent call last):
File ".../src/writer/gdata.py", line 4, in <module>
from gdata.docs.client import DocsClient
ImportError: No module named docs.client
以下是我的virtualenv设置脚本的外观(尽管我不确定它是否相关或是否真的有用)
^{pr2}$下面是我运行的主bash脚本,用于激活virtualenv并运行引发错误的脚本:
#!/bin/bash
set -e
python env-setup.py
echo "Setup has run"
python env-bootstrap.py $HOME/virtualenv/my-virtualenv/ --verbose
echo "Bootstrap has run"
echo `which python`
source $HOME/virtualenv/my-virtualenv/bin/activate
echo "Virtualenv activated"
echo `which python`
python src/main.py
deactivate
我使用哪一个python来确保在激活virtualenv之后确实使用了正确版本的解释器-这也可以通过以下事实得到证实:我没有收到pandas或numpy的导入错误。。在
有什么解决办法吗?在
显然您在
src/writer/gdata.py
中有一个自己的gdata
模块,Python认为是您要查找的gdata
,而不是安装到virtualenv中的包。尝试将您的gdata.py
重命名为其他名称。在相关问题 更多 >
编程相关推荐