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"])
忽略警告'
祝你好运,如果有效请告诉我。
我已经创建了一个 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"])
忽略警告'
祝你好运,如果有效请告诉我。