Python 进阶 — 创建本地 PyPI 仓库

举报
云物互联 发表于 2021/10/12 00:35:28 2021/10/12
【摘要】 目录 文章目录 目录创建本地 PyPI 仓库安装 pypiserver上传 Python 安装包 使用私有 PyPI 仓库 创建本地 PyPI 仓库 安装 pypiserver $...

目录

创建本地 PyPI 仓库

安装 pypiserver

$ mkdir pypiserver
$ cd pypiserver

$ mkdir ./packages
$ mkdir ./auth

$ pip install passlib
$ cd auth
# 生成 htpass 文件
# 会 prompt 密码输入,重复两遍一样的 
$ htpasswd -sc .htaccess username

$ cd pypiserver
$ cat ./docker-compose.yml
...
version: "3.3"
services:
    pypiserver:
        image: pypiserver/pypiserver:latest
        volumes:
            - type: bind
              source: ./packages
              target: /data/packages
            - type: bind
              source: ./auth
              target: /data/auth
        command: -P /data/auth/.htaccess -a update,download,list /data/packages
        ports:
            - "8081:8080" 

$ docker-compose -f docker-compose.yml up -d

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

上传 Python 安装包

  1. 可以使用 twine CLI 工具上传,也可以手动地把安装包 copy 到 pypiserver/packages 目录下。
  2. 可以上传 XXX.tar.gz 源码包,也可以上传 XXX.whl 分发包,都可以用于 pip 安装。

安装 twine CLI 工具:

$ pip install twine

$ ~/.pypirc
...
[distutils] 
index-servers = 
# 不使用 pypi 公共仓库。
#  pypi 
  internal 

#[pypi] 
#username:<your_pypi_username> 
#password:<your_pypi_passwd> 

[internal] 
repository: http://your_pipserver:8081 
username: <some_username> 
password: <some_passwd> 

twine upload -r internal {packet_path}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

(可选的)从现有的环境中获取 pip 安装包清单:

pip freeze bypy > requirement.txt
pip download -d ./python_packages -r requirement.txt
cp ./python_packages/* pypiserver/packages

  
 
  • 1
  • 2
  • 3

(可选的)从源码编译得到可用于分发的 tar 包和 whl 包:

pip install wheel
pip install -U setuptools
python setup.py sdist bdist_wheel
twine upload -r internal ./dist/yourpackage-0.0.1.tar.gz

  
 
  • 1
  • 2
  • 3
  • 4

使用私有 PyPI 仓库

隐式使用:

$ ~/.pip/pip.conf

[global]
index-url = http://youruser:yourpass@yourserver:8081/simple
[install]
trusted-host=yourserver

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

显式使用:

$ pip install --trusted-host yourserver \
    --extra-index-url http://youruser:yourpass@yourserver:8081/simple \
    yourpackage 

  
 
  • 1
  • 2
  • 3

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/120703271

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。