在python项目中,需要引入第三方的包,可以通过pip很简单的引入;但是有个问题,公司内部的包,也不能发布到pypi仓库吧,所以搭建自己的私服就很有必要了,下面介绍一下基于PypiServer搭建私服的教程
I. 搭建教程
1. 安装方式
首先确认我们的环境时Centos,python版本为3.7
安装命令比较简单,如下
pip install pypiserver
# 下面指定python包存储的路径
cd ~/
mkdir -p python-repository/packages
上面完成之后,就可以开启私服了
pypi-server -p 8080 -P . -a . ~/python-repository/packages
上面的 -P . -a .
表示我们开启的私服,不要求安全校验,可以直接下载和上传包
2. 安全校验
上面的没有加安全限制,实际场景可能就不太合适了,如果我们要加上用户名/密码限制,可以如下配置
安装 htpasswd
pip install passlib
yum -y install httpd-tools
生成密码文件: 用户名+密码= user/pwd123456
htpasswd -sc htpasswd.txt user
上面执行之后,会提示输入密码,完成之后,就over了
接下来,我们启动私服,需要修改一下启动命令,下面-a list
表示上传,下载,查看包都需要校验
pypi-server -P htpasswd.txt -a list -p 8888 ~/python-repository/packages
3. 使用说明
前面的私服算是搭建完成了,接下来就是使用姿势了,对我们而言,需要关注的无非安装和发布两个操作了
发布包
首先设置配置文件,vim ~/.pypirc
[distutils]
index-servers =
local
[local]
repository: http://127.0.0.1:8888
username: user
password: pwd123456
然后到需要上传的项目下,执行下面的命令即可
python3.7 setup.py sdist upload -r local
安装包
我们通过pip进行包安装,默认是从pypi.org
下载包,所以需要额外设置下从私服下包
设置配置文件: vim ~/.pip/pip.conf
[global]
extra-index-url = http://user:pwd123456@127.0.0.1:8888
trusted-host = 127.0.0.1
其中 extra-index-url 的value 前面是用户名:密码,注意走的是http协议,因此需要在下面配置上信任host
上面配置完毕之后,下载包就可以和之前的操作一样了
pip3.7 install demoPackage==1.0.0
网友评论