微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

没有可编辑模式,无法导入已安装的模块

如何解决没有可编辑模式,无法导入已安装的模块

我在 GitHub Enterprise 上有一个 Python 项目 A,并决定在容器 B 中使用它。所以我为 B 创建了一个 DockerfileFROM python:3.8RUN pip install -r requirements.txt

经过一些尝试和错误后,我注意到只有在条目 import 前面有 git+https://account:token@github.example.com/owner/name-of-A.git@branch#egg=name-of-A(可编辑模式)时,我才能在 A 中-e 我的模块。

  • 使用-e
    • print(importedmodule) 显示 <module 'importedmodule' from '/path/to/B/src/name-of-A/src/importedmodule/__init__.py'>
  • 否则,
    • 虽然我可以在 /usr/local/lib/python3.8/site-packages/name_of_A-0.0.0.dist-info 找到包裹信息,
    • 它的 top_level.txt 是空的,
    • 我在 B 中找不到来自 A 的任何源代码,并且
    • import importedmodule 加注 ModuleNotFoundError: No module named 'importedmodule'

我对 -e 没问题,只是为了完成这项工作,但我不需要 B 中的 A 可编辑。是否存在阻止不可编辑模式工作的原因?

由于原始项目 A 只是一个 main.py 和导入的模块,因此我添加一个简单的 setup.py 和以下 setup.cfg

[Metadata]
name = name-of-A
[options]
package_dir =
    =src

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。