importer在virtualenv解释器中运行源代码,但在尝试在cons中直接导入时不运行

2024-04-20 09:22:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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的导入错误。。在

有什么解决办法吗?在


Tags: 模块pyechosrcenv脚本bashclient
1条回答
网友
1楼 · 发布于 2024-04-20 09:22:02

显然您在src/writer/gdata.py中有一个自己的gdata模块,Python认为是您要查找的gdata,而不是安装到virtualenv中的包。尝试将您的gdata.py重命名为其他名称。在

相关问题 更多 >