给定具有以下结构的github项目:
mylib/
package1/
package2/
...
packagen/
scripts/
x/a.py
x/b.py
.....
.....
x/z.py
在scripts目录中,许多子文件夹中有许多脚本。 在这些脚本中,使用了mylib的包。
问题是我们不得不告诉python lib目录所在的位置。否则我无法导入模块。
我发现的网络解决方案并不令人满意
import sys
sys.path.insert(0,"..\..")
from mylib.package1 import classX
这不好,因为我必须在每个脚本中编写它,如果我更改目录结构,则必须修改所有内容
这也不好,因为我想与朋友合作,我不想告诉他们改变python路径
有更好的解决方案吗?
答案 0 :(得分:1)
创建virtualenv,在virtualenv中安装所有包并使用它执行所有脚本。
您可以提供requirements.txt
文件或创建virtualenv的脚本,以便您的朋友可以轻松使用它。