相关文章推荐
有腹肌的充值卡  ·  pycharm console 清屏 ...·  2 月前    · 
爽快的大熊猫  ·  【Python】PyCharm ...·  3 周前    · 
聪明伶俐的扁豆  ·  【最新版】Photoshop 2025 ...·  2 周前    · 
小猫猫  ·  Web自动化测试—— ...·  5 天前    · 
不敢表白的馒头  ·  开讲座、当教授、建实验室、合作研究……诺奖得 ...·  4 月前    · 
温柔的铁板烧  ·  天津教育_天津市教育委员会·  4 月前    · 
重情义的鸵鸟  ·  《灌篮高手大电影》电影资源已看百度云保存吧【 ...·  10 月前    · 
威武的香瓜  ·  太阳风暴今日将袭击地球-高校科技-中国教育和 ...·  12 月前    · 
光明磊落的花生  ·  🍀《我真没想抢男主【快穿】》作者:漫天都是 ...·  1 年前    · 
Code  ›  通过 Nexus3 搭建 pypi 私服开发者社区
python
https://cloud.tencent.com/developer/article/2031350
细心的佛珠
9 月前
用户3147702

通过 Nexus3 搭建 pypi 私服

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
用户3147702
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 通过 Nexus3 搭建 pypi 私服

通过 Nexus3 搭建 pypi 私服

作者头像
用户3147702
发布 于 2022-06-27 13:09:04
1.8K 0
发布 于 2022-06-27 13:09:04
举报
文章被收录于专栏: 小脑斧科技博客

1. 引言

上一篇文章中,我们详细介绍了如何通过 nexus3 搭建一个 maven 私服。 详解通过 Nexus3.x 搭建 Maven 私服 本文我们来介绍如何通过 nexus3 来搭建一个 python 的 pypi 私服。

2. nexus 配置

打开 nexus。

登录管理员账户,创建仓库。

我们仍然是有三个选择:

他们的区别是:

  1. proxy — 远程仓库的代理,当用户向这个仓库请求一个 artifact,他会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户
  2. hosted — 宿主仓库,用户可以 deploy 到 hosted 中,也可以手工上传构件到 hosted 里,在 central repository 是获取不到的,就需要手工上传到hosted里
  3. group — 仓库组,将上述多个仓库聚合,对用户暴露统一的地址

那么接下来,我们创建一个 hosted 仓库和一个 group 仓库,创建页面配置很简单,这里不赘述了。

3. 上传 python 包

3.1. 编写代码

执行:

mkdir helloworld touch helloworld/ init .py vim helloworld/demo.py

代码非常简单,一个类中包含一个静态方法用于输出 helloworld:

代码语言: javascript
复制
class Demo:
    @staticmethod
    def hello():
        print('helloworld')

3.2. 编写 setup.py

我们创建 setup.py。

代码语言: javascript
复制
# coding=utf-8
from setuptools import setup
setup(
    name='helloworld',
    version='1.0',
    author="techlog",
    license="MIT",
    packages=[
        'helloworld'
    install_requires=[
    classifiers=[
        "Topic :: Utilities",
        "Topic :: Internet",
        "Topic :: Software Development :: Libraries :: Python Modules"
具体的 setup.py 的编写规范可以参考:
https://packaging.python.org/tutorials/distributing-packages/#setup-py
  • 目录结构
  • 3.3. 打包

    执行:

    python setup.py sdist bdist_wheel 此时目录中新增了很多新的文件:

    dist 目录下就是我们需要上传的文件。

    3.4. 上传

    我们使用 twine 包来上传到私服,官网地址:

    https://pypi.org/project/twine/ pip install twine twine upload —repository-url <url> dist/* <url> 需要替换成我们刚刚搭建的 nexus hosted 私服的 url,在 nexus components 页面有 copy 按钮,点击复制即可。 根据提示填写具有管理员权限的用户名、密码即可。

    页面上就可以看到已经上传成功的 pypi 包了。

    4. pypi 包的下载和安装

    需要安装和下载 pypi 包的话,只需要执行:

    pip install helloworld -i <url>/simple —trusted-host <host> 这里 <url> 需要替换成我们刚刚搭建的 nexus group 私服的 url,可以看到安装顺利进行:

    5. 调用

    编写代码:

    代码语言:javascript
    复制
    from helloworld.demo import Demo
    if __name__ == '__main__':
        Demo.hello()

    执行代码,打印出了:

    helloworld

    6. 参考资料

    https://pypi.org/project/twine/

     
    推荐文章
    有腹肌的充值卡  ·  pycharm console 清屏 清除变量_如何清空pycharm控制台中的特殊变量
    2 月前
    爽快的大熊猫  ·  【Python】PyCharm debug报错:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes in position 1022-1023_p
    3 周前
    聪明伶俐的扁豆  ·  【最新版】Photoshop 2025 Beta v26.6 安装使用教程介绍!【含PS安装包版本合集】_ps2025 quark
    2 周前
    小猫猫  ·  Web自动化测试—— Selenium+Python Windows环境搭建 - 爱笑的小宇宙
    5 天前
    不敢表白的馒头  ·  开讲座、当教授、建实验室、合作研究……诺奖得主在大湾区怎么“搞事业”?  广东省科学技术厅
    4 月前
    温柔的铁板烧  ·  天津教育_天津市教育委员会
    4 月前
    重情义的鸵鸟  ·  《灌篮高手大电影》电影资源已看百度云保存吧【很多事都介于不说憋屈和说了矫情之间吧】_百度贴吧
    10 月前
    威武的香瓜  ·  太阳风暴今日将袭击地球-高校科技-中国教育和科研计算机网CERNET
    12 月前
    光明磊落的花生  ·  🍀《我真没想抢男主【快穿】》作者:漫天都是小星星 完结啦! - 知乎
    1 年前
    今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
    删除内容请联系邮箱 2879853325@qq.com
    Code - 代码工具平台
    © 2024 ~ 沪ICP备11025650号