使用pypi私有服务器

配置

上一篇我们搭建了一个pypi的私用服务器,现在讲下怎么使用它。
首先在用户的主目录(注意不是服务器了)下新建文件.pypirc,内容如下:

[distutils]
index-servers =
    mine

[mine]
repository: http://pypi服务器ip:10086
username: user
password: 123456

其中usernamepassword就是配置pypi服务器器时设置在.htaccess文件中的用户名密码.

打包

下面创建一个简单的包来演示打包发布到私用服务器上

cd /tmp 
mkdir demo
cd demo
mkdir demo_package
touch demo_package/__init__.py

在demo中创建一个setup.py文件,写入

from setuptools import setup, find_packages
setup(
    name = "demo",
    version = "0.1",
    packages = find_packages(),
)

现在目录结构是这样的:

demo
|-- demo_package
|   `-- __init__.py
`-- setup.py

执行打包命令:

python setup.py bdist_egg

命令执行完,目录下会生成build demo.egg-info dist三个子目录,现在的目录结构是这样的

demo
├── demo.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   └── top_level.txt
├── demo_package
│   └── __init__.py
├── dist
│   └── demo-0.1.tar.gz
└── setup.py

安装体验一下

python setup.py install

这个命令会讲我们创建的egg安装到python的dist-packages目录下

上传包到私有服务器

python setup.py sdist upload -r mine

这个mine就是上面配置在. pypirc中我们私用服务器的名字

现在登录服务器,在packages目录就能看到上传的包了


image.png

使用

我们使用pip安装包时候,可以用-i参数指定从私有服务器下载:

 $ pip install -i http://pypi服务器ip:10086/simple/ some-package

如果指定从requurements.txt安装,可以在文件最后加上以下行:

# 私有库库
--extra-index-url http://pypi服务器ip:10086/simple
some-package

推荐阅读更多精彩内容