使用包含PyTest
的文件运行ZODB
会产生一个奇怪的问题:ZODB
可以导入,但其组件FileSystem不能导入。
import ZODB # That works fine.
import ZODB.FileStorage
ImportError: No module named FileStorage
另一方面,从Python解释器运行相同的代码运行正常。
这是版本PyTest version 3.2.2, Python 2.7.13, and ZODB 5.2.4
存在ZODB-5.2.4-py2.7.egg/ZODB/FileStorage/init.py, a ZODB.pth
指向蛋,没有其他模块有问题;只是ZODB
的任何子模块。没有奇怪的许可错误。经过一个小时的实验和锻炼谷歌之后,我一无所获。
好吧,我放弃了它,因为它已经消失了#39;现在回来了。到目前为止,我知道这一点:
有时会出现PyTest,通常运行一个分析器。我还没有找到解决办法。我没有 知道原因是什么。我提出了一些问题,但无法追踪它。
File "/Users/cmerriam/p/platform/zzz/data/ZODB.py", line 41, in <module>
import ZODB.FileStorage # flake8: noqa
ImportError: No module named FileStorage
* Same issue from PyCharm or command line.
* No issue running normal code from PyCharm or command line.
* Once it starts to be an issue, it continues. Still don't know why.
* Once it goes away it stays away.
* My edit configuration has a warning "No Py.Test runner found for current configuration", though
/opt/zzz/bin/py.test is in path
* Seems to have occurred after a reboot.
* No reason, at all, to suspect FileStorage.
* This is in my ...../site-packages directory:
$ ls -l ZODB*
-rw-rw-r-- 1 cmerriam zzz 23 Oct 6 18:08 ZODB.pth
ZODB-5.2.4-py2.7.egg:
total 0
drwxr-xr-x 9 cmerriam zzz 306 Oct 6 18:08 EGG-INFO/
drwxr-xr-x 74 cmerriam zzz 2516 Oct 9 15:58 ZODB/
$ cd ZODB-5.2.4-py2.7.egg
$ tree
|-EGG-INFO
|-ZODB
|---FileStorage
|---__pycache__
|---scripts
|-----manual_tests
|-----tests
|---tests
系统中存在一个名为zzz.data.zodb.py的模块。我正在开发OS / X,它保留了大小写,但不区分大小写。然而,我同时得到了&#34; zzz.data.zodb&#34;和&#34; zzz.data.ZODB&#34;在我的sys.modules中。我们可以让两个项目对齐但是情况确实是错误的吗?
我仍然希望确定所发生事件的边缘情况。
答案 0 :(得分:0)
您是否尝试过以下操作:
from ZODB import FileStorage
答案 1 :(得分:-1)
尝试某事如下面的另一个答案所述:
@A。迪基 -
来自ZODB导入FileStorage
在评论中描述:
@nes -
也许同名的模块位于sys.path中。尝试查看哪些文件模块使用import ZODB; print(ZODB.__file__)