【问题标题】:Private GitHub's repos + SSH + pip = headache私人 GitHub 存储库 + SSH + pip = 头痛
【发布时间】:2019-02-08 16:40:50
【问题描述】:

我是 Pyhton 的新手。 我正在使用私有 GitHub 的 repos 和 git+ssh:// 架构以及 pip install 来保持模块化并能够独立维护它们。 但是,让东西“编译”是一种无尽的痛苦:

导入您的模块时出现异常 (ModuleNotFoundError)。

...这条消息已成为我最好的炒作。

所以假设我有一个处理主数据库的包:

> db (root folder)
> | -> setup.py (package metadata)
> | -> __init__.py (notifying the system that this is a module)
> | -> db1.py (codebase)
> | -> db2.py (another codebase)

然后我得到了另一个包,我想在其中使用db:在pip install ... 之后我执行from db.db1 import SomeStuff 之类的操作,然后尝试运行它...虽然它不起作用,但我可以不明白为什么。

毕竟,我的问题是:我如何维护单独的包,以便其他包可以轻松提取这些包,而不必一直与系统打架? 如何调试错误并要求系统提供比ModuleNotFoundError 更有意义的消息?什么工具可以帮助我快速修复它?

【问题讨论】:

    标签: python module pip package


    【解决方案1】:

    您必须确保根目录(db 目录)在您的 PYTHON PATH 中。如果您使用virtualenvwrapper 和 pip,则此 db 目录始终位于该 PYTHON PATH 中,因此您不必关心它。

    因此您可以从任何地方导入:

    from db.db1 import SomeStuff
    

    它应该可以工作。

    使用虚拟环境来拥有不会相互干扰的环境是一种很好的做法。你应该试试看。

    【讨论】:

      猜你喜欢
      • 2021-10-21
      • 1970-01-01
      • 2018-12-13
      • 2020-09-23
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      相关资源
      最近更新 更多