如何集成和使用复杂结构的GIT存储库同步并存储在PYTHONPATH中的文件夹中

时间:2019-05-18 08:10:30

标签: python git github pythonpath

我有遵循以下准则的github项目MYMODULE结构:

README.rst
LICENSE
sample/__init__.py
sample/core.py
sample/helpers.py

我的项目的核心位于存储sample的{​​{1}}文件夹中。 我希望能够使其保持可访问状态,包括PYTHONPATH中的__init__.py文件夹,但是,如果我sample在PYTHONPATH中列出的文件夹中的项目,我将拥有另一个文件夹git -clone MYMODULE文件夹中的sample文件之前,因此我将无法导入它。我知道,如果我将样本文件夹上移一个级别,我将能够访问该模块,但这将损害与GitHub存储库的同步。

是否有解决此问题的指南或最佳做法?

我尝试使用git 稀疏签出,但这不能解决问题,因为它会将所选文件夹存储在父文件夹中。

1 个答案:

答案 0 :(得分:1)

git是开发工具,但不是分发/部署。要安装Python软件包,您应该安装setup.py。然后,您可以使用install the package directly from git pip,也可以自己克隆存储库并使用pip install -e .甚至使用python setup.py install

安装

在开发过程中,您可以克隆代码并将$PYTHONPATH指向当前目录:export PYTHONPATH=$(pwd)

但是最佳实践是virtualenv。为每个软件包创建setup.py,为每个单独的项目创建一个virtualenv,使用pip install -e .

安装软件包