![](/img/trans.png)
[英]How can I get the version defined in setup.py (setuptools) in my package?
[英]Python setuptools: How can I add a private repository (gitlab) in my setup.py?
I have 2 package uploaded which are in my gitlab repository, if I want to install them in my system using pip, it's easy because gitlab helps you:
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
这两个 package 的名称:
我想要的是创建其他 package 下载这两个私有 package 并且我需要在 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',
],
},
)
当然, <personal_token> 和 <project_ID>需要添加,但我不会给你,因为它是私有的 package。
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 scope 的 API 令牌。 或者,在安装包时向pip
提供索引/身份验证信息。
您的setup.py
依赖项应该简单地声明 package 的名称。 例如
# ...
install_requires=[
'core_1',
'service_1',
#...
pip
将自动从pip.cfg
或.pypirc
文件(或pip
CLI 选项)中配置的注册表中解决它。
当您的setup.py
上传到注册表并由其用户下载时,它会与您的 package 捆绑在一起,因此它显然不应该包含您的密码/令牌等敏感信息!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.