私有GitHub的repos+SSH+pip=headach

2024-05-20 17:21:50 发布

您现在位置:Python中文网/ 问答频道 /正文

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

There was an exception (ModuleNotFoundError) importing your module.

……这封信成了我最好的朋友

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

> 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更有意义的消息?什么工具可以帮助我快速修复它


Tags: installpippygitgithubdbpyhton系统
1条回答
网友
1楼 · 发布于 2024-05-20 17:21:50

必须确保根目录(db目录)位于PYTHON路径中。如果您使用的是virtualenvwrapper和pip,那么这个db目录总是在PYTHON路径中,因此您不必关心它

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

from db.db1 import SomeStuff

它应该有用

使用virtualenv使环境互不干扰是一种很好的做法。你应该试试

相关问题 更多 >