欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

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

时间:2023-02-28 11:48:09|栏目:Python代码|点击:

初识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 

总结

上一篇:django模型动态修改参数,增加 filter 字段的方式

栏    目:Python代码

下一篇:一篇文章带你了解python标准库--math模块

本文标题:Python进阶教程之创建本地PyPI仓库

本文地址:http://www.codeinn.net/misctech/226616.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有