Python进阶教程之创建本地PyPI仓库
程序员文章站
2022-03-09 11:00:42
目录创建本地 pypi 仓库上传 python 安装包使用私有 pypi 仓库初识pypi仓库pypi仓库 是对第三方库的代码仓管库,如有需要可以从仓库中下载,下载用命令pip install 库名p...
初识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 安装包
- 可以使用 twine cli 工具上传,也可以手动地把安装包 copy 到 pypiserver/packages 目录下。
- 可以上传 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仓库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!