开发者

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

开发者 https://www.devze.com 2022-12-02 12:48 出处:网络 作者: 范桂飓
目录初识pypi仓库创建本地 PyPI 仓库安装 pypiserver上传 python 安装包使用私有 PyPI 仓库总结初识pypi仓库
目录
  • 初识pypi仓库
  • 创建本地 PyPI 仓库
    • 安装 pypiserver
    • 上传 python 安装包
  • 使用私有 PyPI 仓库
    • 总结

      初识pypi仓库

      pypi仓库 是对第三方库的代www.cppcns.com码仓管库,如有需要可以从仓库中下载,下载用命令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/pypishttp://www.cppcns.comerver: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> 
      passwohyiohhOerd: <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.cowww.cppcns.comnf
      
      [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仓库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号