配置
上一篇我們搭建了一個(gè)pypi的私用服務(wù)器,現(xiàn)在講下怎么使用它。
首先在用戶的主目錄(注意不是服務(wù)器了)下新建文件.pypirc,內(nèi)容如下:
[distutils]
index-servers =
mine
[mine]
repository: http://pypi服務(wù)器ip:10086
username: user
password: 123456
其中username和password就是配置pypi服務(wù)器器時(shí)設(shè)置在.htaccess文件中的用戶名密碼.
打包
下面創(chuàng)建一個(gè)簡(jiǎn)單的包來(lái)演示打包發(fā)布到私用服務(wù)器上
cd /tmp
mkdir demo
cd demo
mkdir demo_package
touch demo_package/__init__.py
在demo中創(chuàng)建一個(gè)setup.py文件,寫(xiě)入
from setuptools import setup, find_packages
setup(
name = "demo",
version = "0.1",
packages = find_packages(),
)
現(xiàn)在目錄結(jié)構(gòu)是這樣的:
demo
|-- demo_package
| `-- __init__.py
`-- setup.py
執(zhí)行打包命令:
python setup.py bdist_egg
命令執(zhí)行完,目錄下會(huì)生成build demo.egg-info dist三個(gè)子目錄,現(xiàn)在的目錄結(jié)構(gòu)是這樣的
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
安裝體驗(yàn)一下
python setup.py install
這個(gè)命令會(huì)講我們創(chuàng)建的egg安裝到python的dist-packages目錄下
上傳包到私有服務(wù)器
python setup.py sdist upload -r mine
這個(gè)mine就是上面配置在. pypirc中我們私用服務(wù)器的名字
現(xiàn)在登錄服務(wù)器,在packages目錄就能看到上傳的包了

image.png
使用
我們使用pip安裝包時(shí)候,可以用-i參數(shù)指定從私有服務(wù)器下載:
$ pip install -i http://pypi服務(wù)器ip:10086/simple/ some-package
如果指定從requurements.txt安裝,可以在文件最后加上以下行:
# 私有庫(kù)庫(kù)
--extra-index-url http://pypi服務(wù)器ip:10086/simple
some-package