【发布时间】:2010-11-20 14:57:43
【问题描述】:
这可能是我自己对Python导入和搜索路径工作原理的误解,也可能是caldav包的打包问题。
我已经建立了一个名为 myproject 的 virtualenv 环境
在 myproject 的顶层,我有一个脚本 test.py,其中包含两个导入:
import lxml
import caldav
在这个目录中,我输入:
python test.py
它运行良好,没有任何问题
现在我将脚本移动到子目录 test 并运行命令:
python test/test.py
导入 lxml 似乎仍然有效。导入 caldav 失败,出现以下异常:
Traceback (most recent call last):
File "test/test.py", line 34, in <module>
main()
File "test/test.py", line 29, in main
exec ( "import " + modulename )
File "<string>", line 1, in <module>
File "/home/ec2-user/caldav2sql/myproject/test/caldav/__init__.py", line 3, in <module>
from davclient import DAVClient
File "/home/ec2-user/caldav2sql/myproject/test/caldav/davclient.py", line 8, in <module>
from caldav.lib import error
ImportError: No module named lib
我在这里做错了吗?我应该设置某种路径吗?
【问题讨论】:
标签: python virtualenv