基于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 相关文章推荐
Python运算符重载用法实例分析
Jun 01 Python
Python模拟登录验证码(代码简单)
Feb 06 Python
Django实现简单分页功能的方法详解
Dec 05 Python
关于反爬虫的一些简单总结
Dec 13 Python
Python何时应该使用Lambda函数
Jul 02 Python
浅析Python 引号、注释、字符串
Jul 25 Python
python super的使用方法及实例详解
Sep 25 Python
如何基于Python批量下载音乐
Nov 11 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
Python编写nmap扫描工具
Jul 21 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
PHP处理会话函数大总结
2015/08/05 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
清空上传控件input file的值
2010/07/03 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
JavaScript 布尔操作符解析  &amp;&amp; || !
2012/08/10 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
Vue2 模板template的四种写法总结
2018/02/23 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
python自动化测试之setUp与tearDown实例
2014/09/28 Python
简单解析Django框架中的表单验证
2015/07/17 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python数组并集交集补集代码实例
2020/02/18 Python
Python ini文件常用操作方法解析
2020/04/26 Python
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
临床医学专业学生的自我评价分享
2013/11/21 职场文书
工程采购员岗位职责
2014/03/09 职场文书
小学母亲节活动方案
2014/03/14 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
雾霾停课通知
2015/04/24 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
导游词之上海豫园
2019/10/24 职场文书
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers