配置
上一篇我们搭建了一个pypi的私用服务器,现在讲下怎么使用它。
首先在用户的主目录(注意不是服务器了)下新建文件.pypirc,内容如下:
[distutils]
index-servers =
mine
[mine]
repository: http://pypi服务器ip:10086
username: user
password: 123456
其中username
和password
就是配置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目录就能看到上传的包了
使用
我们使用pip安装包时候,可以用-i
参数指定从私有服务器下载:
$ pip install -i http://pypi服务器ip:10086/simple/ some-package
如果指定从requurements.txt安装,可以在文件最后加上以下行:
# 私有库库
--extra-index-url http://pypi服务器ip:10086/simple
some-package