多个Python模块之间的依赖性管理

问题描述 投票:1回答:1

我有一个项目,有多个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-readerdata-writer 而且最好是作为一个可编辑的项目依赖。

我创建了 setup.py 并在共同体内增加以下要求。requirements.txt 中的两个模块。

-e commons

当我激活了其中一个模块的虚拟环境并安装了它的需求时,我可以运行来自于 commons 在使用终端的Python解释器中,这是预期和期望的结果,但在Python解释器的 Intellij IDEA IDE,我得到了一个错误的导入语句下划线和这个错误信息。Unresolved reference 'commons'

from commons import utils

我不知道这是否是一个问题,在... IDEA 或我正在使用的方法中。

  • 添加和管理这种依赖关系的推荐方法是什么?
  • 首先将这种依赖关系添加为一个可编辑的项目是一个好主意还是有其他推荐的方法?
python virtualenv
1个回答
0
投票

这个问题似乎与Intellij Pycharm有关。

你应该选择Pycharm使用的解释器与虚拟环境的解释器相匹配。

如果你不这样做,Pycharm 将会使用默认的 python 解释器,而你导入的库并没有安装。

您可以使用 settings -> preference -> Project Interpreter (in the left menu bar).然后把本地的virtualenv添加到具体的python项目中,对于他们三个。

如果有帮助,官方文档是:

https:/www.jetbrains.comhelppycharmcreating-virtual-environment.html


0
投票

由于已经有一段时间了,我在此发帖为其他读者解答。结果这个方法对我们来说是好的,目前还能正常使用。

问题出在IntelliJPyCharm上,原来是一个很老的问题,现在还没有得到妥善解决。https:/youtrack.jetbrains.comissuePY-976。. 在问题本身中报告了一些变通办法。我个人并没有尝试过所有的方法,但到目前为止,我所尝试的方法对我来说都没有用。

另一个帖子在这里。PyCharm无法识别安装在开发模式下的模块。

© www.soinside.com 2019 - 2024. All rights reserved.