新闻动态

Python进阶教程之创建本地PyPI仓库

发布日期:2021-12-26 04:17 | 文章来源:站长之家

初识pypi仓库

pypi仓库 是对第三方库的代码仓管库,如有需要可以从仓库中下载,下载用命令pip install 库名

pip 命令是需要在cmd命令下运行,不能在python环境下使用

创建本地 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

上传 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}

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

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

(可选的)从源码编译得到可用于分发的 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

使用私有 PyPI 仓库

隐式使用:

$ ~/.pip/pip.conf
[global]
index-url = http://youruser:yourpass@yourserver:8081/simple
[install]
trusted-host=yourserver

显式使用:

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

总结

到此这篇关于Python进阶教程之创建本地PyPI仓库的文章就介绍到这了,更多相关Python创建本地PyPI仓库内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部