我有一个项目,有多个Python模块,每个模块都有自己的虚拟环境。
项目结构。
data-reader (Python module)
data_reader
reader.py
venv (virtual environment directory for data-reader)
requirements.txt
data-writer (Python module)
data_writer
writer.py
venv (virtual environment directory for data-writer)
requirements.txt
commons (Python module)
commons
utils.py
venv (virtual environment directory for commons)
requirements.txt
setup.py
我想安装 commons
作为两个模块的依赖关系。data-reader
和 data-writer
而且最好是作为一个可编辑的项目依赖。
我创建了 setup.py
并在共同体内增加以下要求。requirements.txt
中的两个模块。
-e commons
当我激活了其中一个模块的虚拟环境并安装了它的需求时,我可以运行来自于 commons
在使用终端的Python解释器中,这是预期和期望的结果,但在Python解释器的 Intellij IDEA
IDE,我得到了一个错误的导入语句下划线和这个错误信息。Unresolved reference 'commons'
from commons import utils
我不知道这是否是一个问题,在... IDEA
或我正在使用的方法中。
这个问题似乎与Intellij Pycharm有关。
你应该选择Pycharm使用的解释器与虚拟环境的解释器相匹配。
如果你不这样做,Pycharm 将会使用默认的 python 解释器,而你导入的库并没有安装。
您可以使用 settings -> preference -> Project Interpreter (in the left menu bar)
.然后把本地的virtualenv添加到具体的python项目中,对于他们三个。
如果有帮助,官方文档是:
https:/www.jetbrains.comhelppycharmcreating-virtual-environment.html
由于已经有一段时间了,我在此发帖为其他读者解答。结果这个方法对我们来说是好的,目前还能正常使用。
问题出在IntelliJPyCharm上,原来是一个很老的问题,现在还没有得到妥善解决。https:/youtrack.jetbrains.comissuePY-976。. 在问题本身中报告了一些变通办法。我个人并没有尝试过所有的方法,但到目前为止,我所尝试的方法对我来说都没有用。
另一个帖子在这里。PyCharm无法识别安装在开发模式下的模块。