gpt4 book ai didi

Python 安装工具 : How can I add a private repository (gitlab) in my setup. py?

转载 作者:行者123 更新时间:2023-12-05 03:32:07 25 4
gpt4 key购买 nike

我在我的 gitlab 存储库中上传了 2 个包,如果我想使用 pip 在我的系统中安装它们,这很容易,因为 gitlab 可以帮助您:

https://docs.gitlab.com/ee/user/packages/pypi_repository/index.html

pip install <package-name> --extra-index-url https://<username>:<your_personal_token>@gitlab.com/api/v4/projects/<project ID>/packages/pypi/simple

这两个包的名称:

  • core_1
  • 服务_1

我想要的是在下载这两个私有(private)包的地方创建其他包,我需要在 setup.py 中进行配置:

这是我的setup.py

from setuptools import setup, find_packages

setup(
name='my_project',
version='0.1.0',
packages=find_packages(),
package_data = {
'config':['*.yaml']
},
include_package_data=True,
install_requires=[
'click',
'colorama',
'core_1 --extra-index-url https://joelbarrantespalacios:<personal_token>@gitlab.com/api/v4/projects/<project_ID>/packages/pypi/simple',
'service_1 --extra-index-url https://joelbarrantespalacios:<personal_token>@gitlab.com/api/v4/projects/<project_ID>/packages/pypi/simple'
],
entry_points={
'console_scripts': [
'darit = core_project.cli:start',
],
},

)

当然, 需要添加,但是我不会给你,因为它是一个私有(private)包。

joelbarrantespalacios:这是我的用户名

这是我在 setuptools 的文档中找到的,它显示了如何创建 PyPI 中没有的依赖项,但我不清楚

https://setuptools.pypa.io/en/latest/userguide/dependency_management.html

我真的需要你们的帮助,给我一些希望。

最佳答案

您应该将索引/身份验证信息添加到 pip.cfg文件或 ~/.pypirc文件。

使用 ~/.pypirc文件:

[gitlab]
repository = https://gitlab.example.com/api/v4/projects/<project_id>/packages/pypi
username = <username>
password = <token>

在哪里<token>是具有 API 范围的 API token 。或者,将索引/授权信息提供给 pip在安装你的包时。

你的 setup.py dependencies 应该简单地声明包的名称。例如

# ...
install_requires=[
'core_1',
'service_1',
#...

pip将从您的 pip.cfg 中配置的注册表中解决它或 .pypirc文件(或 pip CLI 选项)。

你的 setup.py当它被上传到注册表并被用户下载时,它会与你的包捆绑在一起,所以它显然不应该包含任何敏感信息,比如你的密码/ token !

关于Python 安装工具 : How can I add a private repository (gitlab) in my setup. py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70523200/

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