Python進階教程之創(chuàng)建本地PyPI倉庫
發(fā)布日期:2021-12-26 04:17 | 文章來源:站長之家
初識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}
(可選的)從現有的環(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
總結
到此這篇關于Python進階教程之創(chuàng)建本地PyPI倉庫的文章就介紹到這了,更多相關Python創(chuàng)建本地PyPI倉庫內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯系alex-e#qq.com處理。
相關文章