gpt4 book ai didi

python - 使用 setuptools 从私有(private) Gitlab 包存储库安装 Python 包

转载 作者:行者123 更新时间:2023-12-05 05:42:28 41 4
gpt4 key购买 nike

我为我的雇主创建了一个私有(private)包裹。因为我被禁止将它上传到 PyPI(它是专有的),所以我将它上传到我们私有(private) Gitlab 中心上我的项目的包索引。我可以手动安装它:

$ pip install my-package --extra-index-url https://__token__:my-token-xxx@gitlab.company-domain.com/api/v4/projects/123456/packages/pypi/simple

现在我还希望 setuptools 能够在 setup() 的 install_requires 参数中列出时找到它。我试过:

setup(
install_requires=[
f"my-package @ https://__token__:{API_TOKEN}@gitlab.company-domain.com/api/v4/projects/123456/packages/pypi/simple",
...
],
...

pip install -e . 结果

ERROR: HTTP error 404 while getting https://__token__:****@gitlab.company-domain.com/api/v4/projects/123456/packages/pypi/simple

这不同于

my-package @ git+https://user:password@gitlab.company-domain.com/..../my-package.git

这行得通,但我希望能够将其下载为预制轮。

我不确定这是 setuptools 问题还是 Gitlab 问题。 404 响应告诉我这可能是一个 gitlab 问题,但是当与 pip install CLI 命令一起使用时,相同的 URI 工作得很好。

这个问题类似于 Include python packages from gitlab's package registry and other external indexes directly into setup.py dependencies ,但我认为没有得到足够的回应。我向 discuss.python.org 发布了同样的问题,但该讨论已经过时,我想我可能会在这里得到更快的回复。

我还发现了一个类似问题的 this response,这并不令人鼓舞。它推荐诗歌或Pipenv。我两种都试过了,发现在解决依赖关系时每一种都非常慢,所以我又求助于 setuptools。

最佳答案

仅在 install_requires 中包含包名。然后,在您的 pip 配置中配置您的(额外)索引 URL(环境变量或 pip.conf/.pypirc 或 CLI 参数)。然后像往常一样使用 pip install 就可以了。

例如:

setup.py中:

    # ...
install_requires=[
'my-package-name',
# ...
],
# ...

然后安装命令(假设环境变量API_TOKEN存在):

GITLAB_INDEX="https://__token__:${API_TOKEN}@gitlab.company-domain.com/api/v4/projects/123456/packages/pypi/simple"
pip install --extra-index-url "${GITLAB_INDEX}" -e .

关于python - 使用 setuptools 从私有(private) Gitlab 包存储库安装 Python 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72018803/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com