一、使用docker安装

sonatype将 nexus3做成了docker镜像,安装过程十分简单

# 容器中的进程是以uid为200的用户执行
mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
# 为了持久化存储,需要挂载到宿主机的某个目录
docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

二、配置仓库

安装好nexus后,访问http://your-hostname.com:8081,点击右上角登陆,默认账号为admin,默认密码存放在容器内,使用以下命令获取:

docker exec nexus cat /nexus-data/admin.password

Nextus3的仓库都有三种类型:

  • hosted:适用于存储公司内部的python包
  • proxy:可以指定一个远程的源,当nexus本地无缓存时,会去该源下载相应的包。在这里插入图片描述其中,有两个需要注意参数:
    • Maximum component age:默认为1440min (1day),表示一个组件(比如flask)的包会被缓存多久。超过该缓存时间之后,下次client对此包发起请求,则会再去远程的源拉一次(设置为**-1**表示永不失效)
    • Maximum metadata age:默认为1440min(1day),表示包的metadata信息会缓存多久。假设我们的项目依赖A,官方刚刚更新了包A的版本,我们也将项目中A的版本改为最新版本,由于metadata最大失效时间为1天,我们install的时候有可能提示找不到最新的版本。该值设为0表示每次都去请求最新的metadata-1表示只用本地缓存。
  • group:组合多个hosted/proxy/group,提供统一访问地址

分别创建上述的三个仓库,命名为pypi-repo, pypi-central, pypi-public

常用pypi源:

清华大学:https://pypi.tuna.tsinghua.edu.cn/
阿里云:http://mirrors.aliyun.com/pypi/
豆瓣(douban): http://pypi.douban.com/
官方源:https://pypi.org

三、安装python包

# 如果没用配置https,则需要加上--trusted-host
pip install flask django -i http://your-hostname.com:8081/repository/pypi-public/simple/ \ --trusted-host your-hostname.com

成功安装后,nexus仓库上就会有这些包的缓存
仓库下的simple文件夹里面存放着各个包的metadata信息,这也是为什么我们在install指定-i参数的时候url是.../pypi-public/simple/

也可以全局配置pip的proxy

mkdir ~/.pip
vim ~/.pip/pip.conf[global]
index-url = http://your-hostname.com:8081/repository/pypi-public/simple/
trusted-host =  your-hostname.com

四、上传python包

打包过程参考Packaging Python Projects

上传我们自己的包需要指定hosted仓库:

python3 -m twine upload --repository-url http://your-hostname.com:8081/repository/pypi-repo/ dist/*username: xxx
password: xxx

按这种方式每次上传时需要填写用户名密码,如果不想每次都输入,在~/.pypirc文件下写入:

[distutils]
index-servers =nexus
[nexus]
repository: http://your-hostname.com:8081/repository/pypi-repo/
username: xxx
password: xxx

以后上传只需执行:

python -m twine upload -r nexus dist/*

Refs

Nexus for pipy

Nexus配置Pypi私库相关推荐

  1. Nexus 配置yum私库

    文章目录 前序 base 私库地址的配置规则 epel-release online local 让nexus私库缓存你的rpm包 repomd.xml signature could not be ...

  2. 【Nexus】通过Nexus搭建Npm私库

    [Nexus]通过Nexus搭建Npm私库 1.简介 2.安装Nexus 3.配置远程Npm源 3.1.安装 3.2.说明 4.修改本地Npm连接源 5.发布自己的npm组件到私服 5.1.登录私服 ...

  3. 【Windows】使用Nexus搭建npm私库,管理npm包,并在项目中下载

    文章目录 一.Nexus在Windows环境下的安装与启动 1.下载安装包 2.配置环境变量 3.启动Nexus 4.访问网页 二.Nexus使用 1.登录 2.创建仓库 (1) 创建npm(host ...

  4. NEXUS各类型私库搭建

    例子 本示例地址:https://youstudio.cn:7180/ 管理员帐号admin密码admin123 首先了解基本nexus界面的操作,以下操作后续在详细过程不在提及. 具体配置可以直接登 ...

  5. nexus搭建npm私库

    参考文章 安装docker 参考文章 安装nexus 打开我们安装好的nexus地址,登录 点击左上角设置图标,进入管理页面 创建之前大概讲一下思路: 创建三个库,分别为npm-proxy.npm-n ...

  6. 使用nexus搭建npm私库

    视频教程:点击进入 1.docker启动nexus docker run -d --name nexus3 --restart=always -p 8081:8081 -p 5000:5000 -v ...

  7. 如何使用nexus3在无外网情况下(如云桌面)配置npm私库

    Nexus3配置npm私服有三个类型: host:本地存储,提供本地私服功能,可上传 proxy:提供代理其他仓库的类型 group: 组类型,组合多个仓库为一个地址,最终开发人员使用镜像源为该gro ...

  8. 最详细的golang + 私库(gitlab gitee) 模块开发 这一篇文章解决所有问题

    golang独立模块开发流程 大纲 基本概念与背景 模块开发流程总结 基于gitee私库 基于gitlab私库 基本概念与背景 java项目开发过程中,有不同的项目组,有的项目组做业务开发,有的项目组 ...

  9. linux 内网环境搭建 maven 私库

    linux 内网环境搭建 maven 私库 参考资料: https://www.codenong.com/cs106446840/ https://blog.csdn.net/lch_wyl/arti ...

最新文章

  1. 有服主传送玩家指令_我的世界:狗子传送机学废了?没关系,简单无脑的WiFi红石来了!...
  2. 多线程程序 怎样查看每个线程的cpu占用
  3. R语言包在linux上的安装等知识
  4. icmp基于tcp还是udp_面试爱考、编程必会基础!TCP/IP必知必会10大问题……
  5. (pytorch-深度学习)门控循环单元(GRU)
  6. Decision Tree学习笔记(基础篇)
  7. 几时几分几秒怎么写_泼尿 涂油漆 写威胁语 业主莫名被骚扰
  8. Servlet(JSP)中动态生成JPG PNG透明 水印图像
  9. Windows键盘如何映射为Mac使用
  10. linux以http方式搭建git服务器
  11. 如何解决大规模高性能存储可靠性问题?
  12. 太原科技大学计算机宿舍,太原科技大学宿舍怎么样
  13. dnf脚本-技能冷却获取可以使用的技能
  14. linux连win7打印机,如何在CentOS 6.5下安装Win7下的共享打印机服务
  15. 外卖cps美团饿了么小程序 每天领取外卖优惠券 下单直接抵扣现金(外卖cps返利分销小程序源码)
  16. 浅谈 Android Dex 文件
  17. 菜狗杯Misc迅疾响应wp
  18. windows技巧之添加右键菜单
  19. 结合GUI和simulink的三相电路谐波的检测与建模
  20. 如何修改大商创头部色调

热门文章

  1. NetBeans删除项目后无法重新打开该项目解决办法
  2. _environ与ssp攻击
  3. 智能货架是零售业的必经之路,普通人入局新零售有机会
  4. 惊恐 !ChatGPT通过谷歌L3入职面试,拿到18万美元offer,人类码农危?
  5. geth 以太坊技术
  6. 【真人手指动画制作软件】万彩手影大师教程 | 自定义云端视频封面
  7. 微信数据库最新的解密方式,C++代码解密微信数据库信息
  8. 常见存储介质介绍以及SD卡启动系统方法
  9. 如何理解IoC/DI
  10. 编译Zookeeper源码以及使用