devpi搭建pypi服务器初体验

3,508 阅读2分钟

devpi-server 常用指令

devpi-server --init  初始化
devpi-server --start  后台运行
devpi-server --stop  停止服务
devpi-server --status  查看状态
devpi-server --log  查看日志

devpi user 常用指令

  1. devpi user -c test password=123456 创建用户名为test密码为123456的用户
  2. devpi user -m test password=666 修改test用户的密码为666
  3. devpi user -l 列出所有用户

devpi index 索引相关指令

  1. devpi index -c dev 创建dev索引
  2. devpi index -l 列出登录用户的索引
  3. devpi index test/dev bases=test/staging 继承staging索引下的包

devpi install 安装包的相关指令

  1. devpi install -l 列出已安装包的列表
  2. devpi install -env 安装到指定的virtualenv中
  3. devpi install -r requement.txt 从指定文件中安装包

devpi upload 上传一个包或多个包到当前索引

  1. 上传自定义的包

    进入到项目含有setup.py文件的路径中 devpi upload

  2. 上传已有的多个包(全部放在一个文件中)

    devpi upload --from-dir 包所在路径

devpi remove 删除服务器上的包

devpi remove pytest
devpi remove pytest>=2.3.5
devpi remove https://mydevpi.org/dev/+f/1cf/3d6eaa6cbc5fa/pytest-1.0.zip

devpi-server服务启动流程

  1. 初始化devpi服务并启动

    devpi-server --restrict-modify root --start --no-root-pypi --init

  2. 查看服务器状态

    devpi-server --status

  3. 使用本机3141端口

    devpi use http://localhost:3141

  4. 登录root用户

    devpi login root --password=

  5. 修改root用户密码

    devpi user -m root password=******

  6. 创建pypi索引

    devpi index -c pypi

  7. 使用pypi索引

    devpi use pypi

devpi 客户端使用流程

  1. 使用服务器地址3141端口

    devpi use http://<host_ip>:3141

  2. 登录root账户

    devpi login root --password=******

  3. 查看当前用户有哪些索引(eg: win 和 linux)

    devpi index -l

  4. 选择其中一个索引来上传包

    devpi use win

  5. 选择上传已有的包或者自己的项目

    1. 上传自己的项目,进入到项目含有setup.py文件的路径

      devpi upload

    2. 上传已有的包

      devpi upload --from-dir 包所在路径

下载本地镜像服务器的包

  1. 临时使用可以使用 pip install 的 --index 和 --trusted-host 选项

    pip install --index http://<host_ip>:3141/root/public/+simple/ --trusted-host <host_ip>

  2. 修改(创建) pip.conf / pip.ini 文件来永久使用

    1. 虚拟机中

      $HOME/.pip/pip.conf

    2. windows中

      C:\ProgramData\pip\pip.ini

    3. 修改或创建的文件内容如下:

      [global]
      index-url = http://<host_ip>:3141/root/win/+simple/
      
      [install]
      trusted-host = <host_ip>
      
      [search]
      index = http://<host_ip>:3141/root/win/
      

devpi服务器迁移

  1. 找到devpi服务器数据所在地址(本服务地址所在devpi_server/data/server)
  2. 进入server目录中找到 '+ files' 目录 拷贝出来
  3. 迁移以后使用devpi upload --from-dir '+ filed' 把已有的模块导入新的服务中