[英]`ModuleNotFoundError` When Importing Python Package from Git
我正在尝试使用以下命令通过 ssh 从私有 GitHub 存储库安装featurestore
存储区 package:
pip3 install -U git+ssh://git@dsghe.<mydomain>/bshelton/package_test.git@master#egg=featurestore
但是当尝试from featurestore import *
运行时,我收到ModuleNotFoundError: No module named 'featurestore'
错误。
使用pip3 freeze
,我看到 package 已安装,但不是我期望的<package>==<version>
语法,但它似乎引用 git 提交而不是它的“版本”:
根据下面的屏幕截图,我相信 repo 的目录设置适合 Python package。
这个包的安装和我安装的其他包之间的一个明显区别是,它似乎只为我的featurestore
库 package 安装了...dist-info
文件夹,而所有其他安装的 package 包括实际的 package 目录,除了...dist-info
文件夹。 使用ls ~/.local/lib/python3.6/site-packages
:
这是我第一次尝试创建这样的 package,我一直在参考以下几个来源,但希望社区能提供一些关于我所缺少的内容的见解。 谢谢。
我的问题的原因原来是我的 setup.cfg 中package_dir
和packages
行上方的语法错误,如果使用带有“src”的 package 布局,这很重要。 在我修复错误之前,我的 package 在某些情况下安装和导入正常,但在其他情况下则不然
我可以通过将我的featurestore
目录上移一级并删除src
目录来解决这个问题。 根据这里的最佳答案,我可能也可以通过直接在src
目录中添加一个__init__.py
文件来解决它。 但是对于我的需要, src
确实是一个不必要的级别。
代码在终端中运行:
:pip3 install -U git+ssh.//git@dsghe.<mydomain>/bshelton/package_test.git@master#egg=featurestore from featurestore.featurestore import *
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.