python 软件包已安装但未在其他目录中找到

python package is installed but not found in other directory

我已经创建了一个 conda 环境并已经激活了它。

然后在 use_cases/ 目录中执行: pip install -e use_case_b (https://github.com/geoHeil/dagster-demo/tree/master/use_cases):

...
...
Installing collected packages: use-case-b
  Attempting uninstall: use-case-b
    Found existing installation: use-case-b 0.0.0
    Uninstalling use-case-b-0.0.0:
      Successfully uninstalled use-case-b-0.0.0
  Running setup.py develop for use-case-b
Successfully installed use-case-b

现在在 use_cases/ 目录中时:

python
import use_case_b

工作正常。

当切换到不同的目录时,例如:/(= 存储库的根目录,我收到一条错误消息:

ModuleNotFoundError: No module named 'use_case_b'

为什么一次成功,第二次就失败了?会不会是因为 __init__.py 文件,它根本就没有工作,只导入了 sub_directory?

如何才能将 python 软件包正确安装到虚拟环境中?

仅供参考:在这里您可以找到完整的项目https://github.com/geoHeil/dagster-demo

当使用 cookiecutter 设置包时,它工作得很好。

https://github.com/audreyfeldroy/cookiecutter-pypackage

这更像是一种变通方法,而不是 SF 问题的解决方案 - 但效果很好,而且作为额外的好处,还有一些关于已经内置的文档和测试的最佳实践。

当我使用 pip 安装包时,我通常会遇到这个问题。我不确定这是否适合你。

在您要导入包的文件中,复制以下代码并运行它。

from pip._internal import main
main(["install", "use_case_b"])

忽略警告'

祝你好运,如果有效请告诉我。