以可编辑模式导入后,多个包出现 ModuleNotFoundError

ModuleNotFoundError for several packages after importing in editable mode

我正在开发一个统计包,让我们在 python 中称它为“统计”,并且必须添加一些功能和 类。为了方便起见,我想在包的可编辑模式下工作,因为我不想在每次更改后重新安装包。请注意,我之前使用过该软件包,并且在正常模式下安装和使用它效果很好。

我用 Python3.6 启动了一个 virtualenv,将包复制到虚拟环境文件夹中,仅在本地 fiddle 附近。我通过 cd 将软件包安装到 setup.py 和

所在的软件包文件夹中
pip install -e .

我确保包的 topfolder 与包本身同名,因为我读到这是错误的来源。

现在发生的现象是我得到了一些模块的“ModuleNotFoundError”,但是关于“pip freeze”和“pip list”肯定安装了这些模块。

这似乎是随机的,哪些是有效的。例如。我可以导入 numpy 和 cycler,但是 eofs 和 xarray 不工作。

有人知道在哪里查找错误吗?

提前致谢!

你有没有:

pip3 install <package>

第一?这是最常见的原因。如果您有很多要安装的包,请创建一个名为“requirements.txt”的文件,在该文件中键入所有包并执行以下操作:

pip3 install -r requirements.txt

这应该可以解决您所有的问题。如果您使用的是自制包,请切换到该包的 setup.py 所在的目录,然后 运行 如下:

pip3 install .

其实我解决了这个问题。我正在使用

创建环境
virtualenv -p3.6

但标准 python 解释器是 python2.7。似乎与此有一些冲突,因为在使用

python3 venv -p3.6

我所有的烦恼都消失了,可编辑模式就像一个魅力