Wli*_*Wli 5 python distutils setuptools python-3.x
我们有一个 python 包,它也是一个 git 存储库。它依赖于其他 python 包,它们本身就是 git repos。我们将后者作为前者的 git 子模块。这些都不是公开的,因此没有 PyPI。
与使用子模块依赖项安装相关的其他问题都不符合我们的模式。我的问题不是关于查找(子)包setuptools,也不是关于相对导入。
这是我们的结构:
package-repo/
setup.py
setup.cfg
README.md
.gitignore
.gitmodules
.git/
submodule-repo/
.git/
.gitignore
setup.py
setup.cfg
README.md
submodule/
__init__.py
moduleX.py
moduleY.py
package/
__init__.py
moduleA.py
moduleB.py
subpackage1/
Run Code Online (Sandbox Code Playgroud)
与requirements.txt的情况一样,我天真地认为以下内容可以解决:
package-repo/
setup.py
setup.cfg
README.md
.gitignore
.gitmodules
.git/
submodule-repo/
.git/
.gitignore
setup.py
setup.cfg
README.md
submodule/
__init__.py
moduleX.py
moduleY.py
package/
__init__.py
moduleA.py
moduleB.py
subpackage1/
Run Code Online (Sandbox Code Playgroud)
这不起作用。
另一种方法是添加子模块packages并在 中指示其目录package_dir。嗯,效果不太好,如果安装依赖模块时无法安装,那么在“子模块”中创建 setup.py 有何意义?pip install ./submodule-repo/我只想安装它,而不必将其放在 PyPI 上或创建虚拟 PyPI 服务器,这严重过度,或者必须在 README.md 中指示要做什么(即),这是不优雅的。
有什么办法呢?我是否在 distutils 或 setuptools 文档中错过了它?
小智 2
您将需要指定从何处安装子模块。
install_requires=[
'SQLAlchemy',
'pandas',
# Your private repository module
'<dependency_name> @ git+ssh://git@github.com/<user_name>/<repo_name>@<branch>'
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |