如何从包含多个包的存储库安装 python 包?

问题描述

您好,我有一个存储库,其中包含一个名为 Packages 的文件夹,其中有几个 python 包及其设置和安装所需的所有配置。

我可以在本地安装它,指示包的完整路径,但是当我尝试从存储库执行相同操作时,我不能。

如何使用 pipenv 安装其中一个软件包?

我尝试了以下方法

pipenv install -e git+https://TOKEN@github.com/user/repo#egg=package

pipenv install -e git+https://TOKEN@github.com/user/repo/branch/path#egg=package

但是没有用,我收到了这个错误

Error text: Obtaining socks-utils from git+https://****@github.com/............#egg=socks-utils
... has inconsistent name: filename has 'package',but Metadata has 'UNKNowN'

令牌是正确的,我可以在另一个文件夹中使用该 url 克隆它。

谢谢

解决方法

引用自the pip documentation

如果您的存储库布局是:

pkg_dir
├── setup.py  # setup.py for package "pkg"
└── some_module.py
other_dir
└── some_file
some_other_file

然后,要从此存储库安装,语法将是:

python -m pip install -e "vcs+protocol://repo_url/#egg=pkg&subdirectory=pkg_dir"

因此,您想要:

pipenv install -e "git+https://TOKEN@github.com/user/repo#egg=package&subdirectory=path"