Python進階教程之創(chuàng)建本地PyPI倉庫
初識pypi倉庫
pypi倉庫 是對第三方庫的代碼倉管庫,如有需要可以從倉庫中下載,下載用命令pip install 庫名
pip 命令是需要在cmd命令下運行,不能在python環(huán)境下使用
創(chuàng)建本地 PyPI 倉庫
安裝 pypiserver
$ mkdir pypiserver
$ cd pypiserver
$ mkdir ./packages
$ mkdir ./auth
$ pip install passlib
$ cd auth
# 生成 htpass 文件
# 會 prompt 密碼輸入,重復兩遍一樣的
$ htpasswd -sc .htaccess username
$ cd pypiserver
$ cat ./docker-compose.yml
...
version: "3.3"
services:
pypiserver:
image: pypiserver/pypiserver:latest
volumes:
- type: bind
source: ./packages
target: /data/packages
- type: bind
source: ./auth
target: /data/auth
command: -P /data/auth/.htaccess -a update,download,list /data/packages
ports:
- "8081:8080"
$ docker-compose -f docker-compose.yml up -d
上傳 Python 安裝包
- 可以使用 twine CLI 工具上傳,也可以手動地把安裝包 copy 到 pypiserver/packages 目錄下。
- 可以上傳 XXX.tar.gz 源碼包,也可以上傳 XXX.whl 分發(fā)包,都可以用于 pip 安裝。
安裝 twine CLI 工具:
$ pip install twine
$ ~/.pypirc
...
[distutils]
index-servers =
# 不使用 pypi 公共倉庫。
# pypi
internal
#[pypi]
#username:<your_pypi_username>
#password:<your_pypi_passwd>
[internal]
repository: http://your_pipserver:8081
username: <some_username>
password: <some_passwd>
twine upload -r internal {packet_path}
(可選的)從現(xiàn)有的環(huán)境中獲取 pip 安裝包清單:
pip freeze bypy > requirement.txt pip download -d ./python_packages -r requirement.txt cp ./python_packages/* pypiserver/packages
(可選的)從源碼編譯得到可用于分發(fā)的 tar 包和 whl 包:
pip install wheel pip install -U setuptools python setup.py sdist bdist_wheel twine upload -r internal ./dist/yourpackage-0.0.1.tar.gz
使用私有 PyPI 倉庫
隱式使用:
$ ~/.pip/pip.conf [global] index-url = http://youruser:yourpass@yourserver:8081/simple [install] trusted-host=yourserver
顯式使用:
$ pip install --trusted-host yourserver \
--extra-index-url http://youruser:yourpass@yourserver:8081/simple \
yourpackage
總結(jié)
到此這篇關于Python進階教程之創(chuàng)建本地PyPI倉庫的文章就介紹到這了,更多相關Python創(chuàng)建本地PyPI倉庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中使用moviepy進行視頻分割的實現(xiàn)方法
MoviePy是一個關于視頻編輯的python庫,主要包括:剪輯,嵌入拼接,標題插入,視頻合成(又名非線性編輯),視頻處理,和自定制效果。本文重點給大家介紹Python中使用moviepy進行視頻分割的實現(xiàn)方法,需要的朋友一起看看吧2021-12-12
Python中shutil模塊的常用文件操作函數(shù)用法示例
shutil模塊提供比OS模塊更強大的本地文件操作功能,包括文件的壓縮和解壓縮等,下面我們就來列舉Python中shutil模塊的常用文件操作函數(shù)用法示例:2016-07-07
淺談python標準庫--functools.partial
這篇文章主要介紹了python標準庫--functools.partial,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03

