如何集成和使用复杂结构 GIT 存储库同步并存储在 PYTHONPATH 中的文件夹中
How to integrate and work with complex structure GIT repository sync and stored in a folder in the PYTHONPATH
我的 github 项目 MYMODULE
结构遵循指南,例如:
README.rst
LICENSE
sample/__init__.py
sample/core.py
sample/helpers.py
我项目的核心在 sample
文件夹中,其中存储了 __init__.py
。
我希望能够保持它的可访问性,包括 PYTHONPATH 中的 sample
文件夹,但是当然,如果我 git -clone
PYTHONPATH 中列出的文件夹中的项目,我将有另一个文件夹 MYMODULE
在带有 __init__
文件的 sample
文件夹之前,所以我将无法导入它。我知道,如果我将示例文件夹向上移动一层,我将能够访问该模块,但这会影响与我的 GitHub 存储库的同步。
是否有解决此问题的指南或最佳实践?
我尝试使用 git sparse checkout 但这并不能解决问题,因为它会将所选文件夹存储在父文件夹中。
git
是开发工具但不是 distribution/deployment。要安装 Python 包,你应该有 setup.py
. Then you can install the package directly from git using pip
或者你可以自己克隆存储库并使用 pip install -e .
甚至 python setup.py install
安装
在开发过程中,您可以克隆代码并将 $PYTHONPATH
指向当前目录:export PYTHONPATH=$(pwd)
但最佳做法是 virtualenv
。为每个包创建 setup.py,为每个单独的项目创建一个 virtualenv,使用 pip install -e .
安装包
我的 github 项目 MYMODULE
结构遵循指南,例如:
README.rst
LICENSE
sample/__init__.py
sample/core.py
sample/helpers.py
我项目的核心在 sample
文件夹中,其中存储了 __init__.py
。
我希望能够保持它的可访问性,包括 PYTHONPATH 中的 sample
文件夹,但是当然,如果我 git -clone
PYTHONPATH 中列出的文件夹中的项目,我将有另一个文件夹 MYMODULE
在带有 __init__
文件的 sample
文件夹之前,所以我将无法导入它。我知道,如果我将示例文件夹向上移动一层,我将能够访问该模块,但这会影响与我的 GitHub 存储库的同步。
是否有解决此问题的指南或最佳实践?
我尝试使用 git sparse checkout 但这并不能解决问题,因为它会将所选文件夹存储在父文件夹中。
git
是开发工具但不是 distribution/deployment。要安装 Python 包,你应该有 setup.py
. Then you can install the package directly from git using pip
或者你可以自己克隆存储库并使用 pip install -e .
甚至 python setup.py install
在开发过程中,您可以克隆代码并将 $PYTHONPATH
指向当前目录:export PYTHONPATH=$(pwd)
但最佳做法是 virtualenv
。为每个包创建 setup.py,为每个单独的项目创建一个 virtualenv,使用 pip install -e .