基于nexus3配置Python仓库过程详解


Posted in Python onJune 15, 2020

搭建Python私服,我们依旧使用nexus3。

与其他私服一样的,Python私服同样有三种类型:

hosted : 本地存储,便于开发者将个人的一些包上传到私服中proxy : 提供代理其他仓库的类型,如豆瓣的pypi仓库group : 组类型,实质作用是组合多个仓库为一个对外的地址

那么就来一个一个创建。

1,创建blob存储

为其创建一个单独的存储空间。

基于nexus3配置Python仓库过程详解

2,创建hosted类型的pypiName: 定义一个名称local-pypiStorage
Blob store,我们下拉选择前面创建好的专用blob:pypi-hub。Hosted

开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

基于nexus3配置Python仓库过程详解3,

创建一个proxy类型的pypi仓库Name: proxy-pypiProxyRemote Storage: 远程仓库地址,这里填写: http://pypi.python.org/pypi/
上边的是官方的仓库地址,还有其他几个国内常见的,罗列如下:阿里云:http://mirrors.aliyun.com/pypi/中国科技大学:https://pypi.mirrors.ustc.edu.cn/豆瓣:http://pypi.douban.com/清华大学:https://pypi.tuna.tsinghua.edu.cn/中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/Storage: pypi-hub。

其他的均是默认。

整体配置截图如下:

基于nexus3配置Python仓库过程详解

另外几个仓库同上操作,一一创建,当然也不必全部都加,根据自己实际需求添加即可。

4,创建一个group类型的pypi仓库Name:group-pypiStorage:选择专用的blob存储pypi-hub。group : 将左边可选的4个仓库,添加到右边的members下。

整体配置截图如下:

基于nexus3配置Python仓库过程详解

这些配置完成之后,就可以使用了。

5,验证使用1,指定配置

新建一台环境干净的主机,安装好Python的pip环境。可通过如下命令进行安装:

yum -y install epel-releaseyum -y install python36 python36-devel

然后通过命令行随便安装一个包,安装的时候,将代理指向我们的私服来。这个地方遇到了两个坑,这里用两个注意来进行提醒。

注意:在指定刚刚配置的私服时,需要在统一对外的地址最后加上一个simple。注意: 在第一次进行安装测试的时候,一定要指定测试包的版本,否则可能会报如下错误:

ERROR: Could not find a version that satisfies the requirement django (from versions: none)ERROR: No matching distribution found for django

这个时候指定一下包的版本,就下载成功了,而在往后的下载,就不需要指定版本了。

基于nexus3配置Python仓库过程详解

通过如下命令进行验证:

[root@master ~]# pip3 install --trusted-host 192.168.75.11 -i http://192.168.75.11:8081/repository/group-pypi/simple flask 
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting flask
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/flask/1.1.2/Flask-1.1.2-py2.py3-none-any.whl (94kB)
  100% |????????????????????????????????| 102kB 7.8MB/s 
Collecting Werkzeug>=0.15 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/werkzeug/1.0.1/Werkzeug-1.0.1-py2.py3-none-any.whl (298kB)
  100% |????????????????????????????????| 307kB 49.6MB/s 
Collecting Jinja2>=2.10.1 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/jinja2/2.11.2/Jinja2-2.11.2-py2.py3-none-any.whl (125kB)
  100% |????????????????????????????????| 133kB 69.8MB/s 
Collecting click>=5.1 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/click/7.1.2/click-7.1.2-py2.py3-none-any.whl (82kB)
  100% |????????????????????????????????| 92kB 6.6MB/s 
Collecting itsdangerous>=0.24 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/itsdangerous/1.1.0/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10.1->flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/markupsafe/1.1.1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: Werkzeug, MarkupSafe, Jinja2, click, itsdangerous, flask
Successfully installed Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0

这个时候去私服的库里看下,已经可以看到刚刚安装的几个包了。

基于nexus3配置Python仓库过程详解

2,全局配置

通过添加全局配置,就不需要每次执行编译的时候指定私服地址了:

mkdir ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
timeout = 60
trusted-host = 192.168.75.11
index-url = http://192.168.75.11:8081/repository/group-pypi/simple
EOF

保存之后,本机的代理就走本地的私服了。

基于nexus3配置Python仓库过程详解
基于nexus3配置Python仓库过程详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3+PyQt5实现文档打印功能
Apr 24 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
详解python3中tkinter知识点
Jun 21 Python
详解多线程Django程序耗尽数据库连接的问题
Oct 08 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
Python File(文件) 方法整理
Feb 18 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
Python文件路径名的操作方法
Oct 30 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
django中websocket的具体使用
Jan 22 Python
Python中tqdm的使用和例子
Sep 23 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 #Python
在keras里面实现计算f1-score的代码
Jun 15 #Python
Python流程控制语句的深入讲解
Jun 15 #Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 #Python
python语言是免费还是收费的?
Jun 15 #Python
DataFrame.groupby()所见的各种用法详解
Jun 14 #Python
详解pandas.DataFrame.plot() 画图函数
Jun 14 #Python
You might like
在IIS上安装PHP4.0正式版
2006/10/09 PHP
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
python中黄金分割法实现方法
2015/05/06 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
Bally澳大利亚官网:瑞士奢侈品牌
2018/11/01 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
cf收人广告词大全
2014/03/14 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
2015年教师节主持词
2015/07/03 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis
python 使用pandas读取csv文件的方法
2022/12/24 Python