美文网首页
搭建pypi私有源(项目公共模块)服务器

搭建pypi私有源(项目公共模块)服务器

作者: 小草_fdba | 来源:发表于2018-05-29 18:28 被阅读0次

公司不同项目中用到了相同的模块,比如相同的取历史数据,以及一些相同的工具类。在不同项目中这些代码复制,黏贴,还会造成同一个bug需要修改多次和代码不一致导致的一系列问题,增加了维护成本。通常我们使用pip安装python包,都会默认从https://pypi.python.org/pypi上安装。但是由于是公司内部的项目,不方便放到外网上,所以我们要搭建自己的内网pypi源服务器,也可以用pip install的方式安装公共模块。
python官方关于pypi私有源实现的说明:http://wiki.python.org/moin/PyPiImplementations
首先选用快速上手的pypiserver进行尝试
1.首先进行安装

pip install pypiserver
mkdir ~/packages

2.复制一些包到packages目录,然后启动pypiserver 服务
首先,我在工作目录下新建一个文件夹mayTest里面有一个test.py.我在mayTest同级目录增加一个setup.py,内容如下

from setuptools import setup

setup(
    name='maytest',
    version='0.0.1',
    packages=['maytest']
)

在setup.py所在的目录执行以下代码来生成python代码分发包,执行完会出现一个dist目录,找到分发包maytest-0.0.1.tar.gz,将分发包上传到~/packages目录下。
3.启动pypi-server,端口可以随意指定

 pypi-server -p 8080 ~/packages & 

http://localhost:8080/simple/网页上的效果

image.png

4.从客户端电脑(测试时只是开了一个新的终端...)

pip install  --extra-index-url http://localhost:8080/simple/ ...
pip install --extra-index-url http://localhost:8080
pip search --index http://localhost:8080 ...
image.png

这样就安装成功了。
5.远程上传项目包
默认情况下,pypiserver的上传操作是密码保护的,需要安装一些包,pypiserver 需要passlib包来读取htpasswd文件。如下命令

pip install passlib

第一次生成密码的命令

htpasswd -c /root/.pypipasswd may

may 为用户名,之后会提示输入密码和再次输入密码
已经有用户名后再次加入用户名密码, 去掉-c命令即可。
接下来需要用Distutils来指定上传操作所需要的用户名和密码。创建活修改~/.pypirc文件,创建命令touch .pypirc.文件内容如下


image.png

然后kill掉之前pypi-server,通过-P参数指定所要使用的密码文件来启动pypi-server


image.png
接下来向名为localhost的pypi源上传python包时,用了may密码为linlin来验证操作权限
image.png
最后做验证,确认maytest-0.0.2.tar.gz上传到pypi源上
image.png

相关文章

  • 搭建pypi私有源(项目公共模块)服务器

    公司不同项目中用到了相同的模块,比如相同的取历史数据,以及一些相同的工具类。在不同项目中这些代码复制,黏贴,还会造...

  • iOS pod私有库-Docker+gitlab+CocoaPo

    平时我们项目开发会抽离一些公共模块,那么这些公共模块如何管理呢,呵呵,搭建CocoaPods私有库来去管理是最好不...

  • 七牛云模块化文档

    前言 闲来无事,搭建了个人私仓来放模块化项目,以便项目引入直接使用。关键是,模块化可以根据项目所需进行版本迭代,每...

  • tornado项目模块儿化搭建

    tornado项目模块儿化的搭建 tornado项目模块儿化的搭建举例: manage.py 项目的启动模块...

  • spring全家桶项目开篇

    项目为前后端分离项目后端技术栈为: 此项目一共有十几个模块我们首先来搭建 父工程 parent 和 公共子模...

  • 服务器搭建git代码仓库

    本篇文章介绍如何在服务器上搭建git私仓 I、服务器基础配置 如果从零开始搭建git私仓,那么首先需要配置服务器,...

  • Node.js 静态服务器新知

    用node http模块搭建服务器一直被用作项目实践及开发,深入学习后,对node搭建http服务器有了新的了解和...

  • Node.js(服务器与fs的搭建)

    服务器搭建:http模块 语法: 1.引入http服务器模块 2.通过这个模块创建服务器 createServer...

  • npm私有化仓库

    为什么要搭建npm仓库 日常开发中, 经常会遇到各项目间会用到同样的功能模块、组件, 如果不抽成公共模块,那就只能...

  • 【IDEA】搭建聚合项目抛Unable to find main

    背景 项目是springboot,分多模块:common公共模块、order订单模块和stock库存模块。项目在i...

网友评论

      本文标题:搭建pypi私有源(项目公共模块)服务器

      本文链接:https://www.haomeiwen.com/subject/frzojftx.html