使用pypi-server搭建簡單的PyPI源
pypiserver 是一個最基本的PyPI伺服器實現, 可以用來上傳和維護python包. 本文介紹 pypiserver 在ubuntu上的基本安裝, 配置和使用.
1. 基本安裝和使用
1.1 安裝和啟動
pypiserver 可以在Python 2或者Python 3下執行. 使用pip
就可以安裝:
pip install pypiserver
啟動 pypiserver 使用以下命令:
pypi-server
在沒有顯示指定任何啟動引數的時候, pypiserver 是使用 ~/packages 來儲存Python包, 同時監聽8080埠來提供PyPI服務.
1.2 上傳Python包
此時, 在建立 ~/packages
from setuptools import setup
setup(
name='demo',
version='0.0.1',
packages=['demo']
)
在專案根目錄下執行以下命令來生成Python程式碼分發包:
python setup.py sdist
執行完上面這條命令後, 可以在專案下的 dist 目錄找到分發包 demo-0.0.1.tar.gz. 將分發包上傳到 ~/packages 目錄下, 接下來就可以訪問 pypiserver
1.3 安裝 pypiserver 上的Python包
在安裝和啟動 pypiserver 後, 可以通過瀏覽器訪問http://localhost:8080可以訪問 pypiserver 的預設歡迎頁:
訪問http://localhost:8080/simple/demo則可以看到剛上傳的_demo-0.0.1.tar.gz_包
1.3.1 pip
在本地環境中, 可以使用 pip 的 index-url 引數來訪問 pypiserver 上的Python包:
# pip search -i http://localhost:8080 demo
# pip install -i http://localhost:8080 demo
1.3.2 easy_install
同樣也可以使用 easy_install 來訪問 pypiserver :
# easy_install -i http://localhost:8080/simple demo
2. 遠端上傳專案包
如果希望通過python setup.py upload
命令將本地專案程式碼上傳到PyPI伺服器, 可以通過以下步驟來完成.
2.1 無密碼上傳專案包
預設情況下, pypiserver 的上傳操作是密碼保護的, 不過可以通過以下啟動引數來關閉密碼保護:
pypi-server -P . -a .
上述命令中的-P
引數用來指定密碼檔案, -a
用來指定需要密碼保護的操作. 當這兩個引數同時指定為.
時, 表示所有的操作都不需要密碼保護.
此時, 就可以在Python專案的根目錄下, 執行遠端安裝命令來上傳包. 比如在本地專案中, 執行以下命令:
python setup.py sdist upload -r http://localhost:8080
此時, upload 命令仍然會提示輸入密碼, 此時直接回車確認就可以了.
2.2 使用密碼保護PyPI源
當希望使用密碼來控制Python包的上傳操作的時候, 需要使用Apache htpasswd 檔案.
pypiserver 需要 passlib 包來讀取 htpasswd 檔案. 使用以下命令來安裝 passlib :
pip install passlib
要生成 htpasswd 檔案, 需要安裝 apache2-utils 工具包. 在Ubuntu上使用以下命令安裝:
apt-get install -y apache2-utils
接下來就可以用 htpasswd 命令來生成密碼檔案. 假設密碼檔案路徑為 /root/.pypipasswd , 第一次生成密碼檔案的命令如下:
htpasswd -c /root/.pypipasswd sam
上述命令中的最後一個引數sam
是使用者名稱, 執行命令後, 會提示輸入密碼.
當需要在已有的密碼檔案中新增新的使用者名稱和密碼時, 不能再使用-c
引數, 否則會將已有的資料覆蓋. 比如, 要在上一步生成的檔案裡新增一個新使用者名稱 john :
htpasswd /root/.pypipasswd john
接下來就可以使用密碼檔案來控制上傳操作了. 當啟動 pypiserver 時, 通過-P
引數來指定所要使用的密碼檔案. 預設情況下, 上傳操作會需要密碼驗證, 如果希望其他操作也需要密碼驗證, 可以使用-a
引數. 具體-a
引數的使用可以查閱_pypiserver_的啟動命令幫助, 這裡不再展開.
pypi-server -P /root/.pypipasswd
接下來, 在需要上傳Python包的系統中, 需要配置Distutils來指定上傳操作所需要的使用者名稱和密碼.
建立或者修改 ~/.pypirc 檔案, 檔案需要以下內容:
[distutils]
index-servers = localhost
[localhost]
repository: http://localhost:8080
username: sam
password: 123456
配置中的[localhost]
section就是 pypiserver 的地址和使用者名稱密碼資訊. index-servers
值中的localhost
就指定了名為localhost
的section. 接下來, 當我們向名為 localhost 或者地址為 http://localhost:8080 的PyPI源上傳Python包時, 使用者名稱 sam 和密碼 123456 就會被用來驗證操作許可權:
python setup.py sdist upload -r localhost
3. 其他配置
3.1 指定監聽埠
預設情況下 pypiserver 監聽8080埠, 我們可以通過-p
引數來指定期望的埠:
pypi-server -p 9090
3.2 指定包目錄
預設情況下 pypiserver 使用_~/packages_ 目錄來讀取和儲存Python包. 我們可以使用-P
引數來修改:
pypi-server -P /opt/pypiserver/packages
3.3 請求轉發
當請求的Python包, 在本地 pypiserver 上沒有找到時, 它會將請求轉發到外部PyPI源, 預設為 https://pypi.doubanio.com/simple . 對於國內使用來說, 可以通過 --fallback-url
引數將轉發目的地址設定為豆瓣源:
pypi-server --fallback-url https://pypi.doubanio.com/simple
http://www.vxjezfv.cn/
http://news.vxjezfv.cn/
http://www.xibiyo.com.cn/
http://news.xibiyo.com.cn/
http://www.9208361.org.cn/
http://news.9208361.org.cn/
http://www.9111316.cn/
http://news.9111316.cn/
http://www.bluelf.com.cn/
http://news.bluelf.com.cn/
http://www.qqq136com.cn/
http://news.qqq136com.cn/
http://www.2819w.cn/
http://news.2819w.cn/
http://www.9019758.org.cn/
http://news.9019758.org.cn/
http://www.wydaogou.cn/
http://news.wydaogou.cn/
http://www.ralhys.cn/
http://news.ralhys.cn/
相關推薦
使用pypi-server搭建簡單的PyPI源
pypiserver 是一個最基本的PyPI伺服器實現, 可以用來上傳和維護python包. 本文介紹 pypiserver 在ubuntu上的基本安裝, 配置和使用.1. 基本安裝和使用1.1 安裝和啟動pypiserver 可以在Python 2或者Python 3下執行
搭建本地pypi源方法 – 僅同步openstack依賴的的pypi軟體包
使用devstack搭建openstack開發環境,一個很頭疼的問題就是devstack通過pip安裝依賴的一些軟體包,由於網路環境的差異,導致很多無法連線外網或者連線外網受限的實驗室環境非常崩潰,前面一篇文章介紹過《基於CentOS的pip本地源搭建方法》,文中的方法
Ubuntu 搭建簡單的git server
簡介 Git 可以使用四種主要的協議來傳輸資料: 本地協議(Local), HTTP 協議, SSH(Secure Shell)協議 Git 協議。 在此,我們將會討論那些協議及哪些情形應該使用(或避免使用)他們。 這裡使用的是ssh協議,採用的是的gitcore搭建的,如果想搭建一個高
pypi-server本地服務的使用
1、安裝pypi-server pip install pypi-server 2、啟動pypi-server服務 pypi-server -p 9090 指定包的路徑 如,pypi-server -p 9090 /root/packages/ 3、
http-server:一個簡單的零配置命令行的http服務器
.gz 例如 選項 輸出 csharp ava 開發 日誌 art 首先簡介一下http-server: http-server是一個簡單的零配置命令行http服務器,他對於生產使用來說足夠強大,他是簡單和可刪節足以用於測試,足夠簡單易用,而且可用於本地開發 1、首先
centos6.8+nginx搭建簡單的https服務器
centos nginx 搭建簡單 這裏nginx搭建https服務器,必須幾個要求,第一有安裝openssl-devel,當然這個沒有貌似編譯添加ssl模塊會出錯。那如果編譯有不會的可以參考我前面的博客,當然baidu和google上資料也很多。1、確認nginx服務器能正常運行
Win2008 Server搭建流媒體服務(在線看電影)
管理 video 區別 利用 color mic 更新 com web 什麽是流媒體服務呢。 所謂流媒體是指采用流式傳輸的方式在Internet播放的媒體格式, 與需要將整個視頻文件全部下載之後才能觀看的傳統方式相比, 流媒體技術是通過將視頻文件經過特殊的壓縮方式分成
使用vue-cli腳手架搭建簡單項目框架
blog npm cnblogs 模板 ext 國內 -- web ted 1.首先已經安裝了node,最好版本6以上。 2.安裝淘寶鏡像 大家都知道國內直接使用 npm 的官方鏡像是非常慢的,這裏推薦使用淘寶 NPM 鏡像。這樣就可以直接使用cnpm了。 npm ins
iOS開發--Mac下server搭建
顯示 imageview app esc use 分享 本地 div server搭建 前言 對於Mac電腦的認識。我一直停留在裝B神器的意識上。就在前兩天我徹底改變了庸俗的看法,當時忙著寫畢業設計。苦於iOS開發沒有server, 數據都
搭建本地yum源服務器
yum源 yum源的搭建可分為兩種方法:使用本地鏡像進行搭建,鏡像中的rpm版本比較舊搭建Apache服務器掛載ISO鏡像,將鏡像中的包放至Apache服務器目錄下用yum源服務器的包同步到本地在Apache服務器目錄下建立對應目錄用rsync同步一、使用本地鏡像搭建Apache服務器 使用yum安裝,
gitlab 搭建自己的源代碼管理器
設置 網頁 -- -1 服務 代碼管理器 cnblogs push 操作 首先 gitlab 是不支持 windows、mac os 的,具體支持的系統參照官網的 1、安裝虛擬機 ubuntu16.04 需要註意的一點:gitlab 服務器 與 客戶端必須在一
openvpn-server 搭建
open openvpn搭建 openvpn 2.2.21、需求vps 下搭建openvpn,並推送相關路由,此種vpn與商業化的SSL vpn幾乎等同無異。穩定性不相 上下,但沒有ssl 搭建維護方便2、vpn 安裝在/usr/local/openvpn 目錄下、並做配置tar xvzf o
局域網內搭建 本地yum 源
yum 源搭建 局域網 repodata目的:局域網內配置yum 源服務器,方便局域網內服務器安裝軟件測試環境: IP :10.139.13.34 apache 服務器 用來做局域網內的yum 源服務器 IP: 10.139.13.34 內網服務器 部署步驟: 搭建apache 服務器用來提供yum
面向連接的Socket Server的簡單實現(簡明易懂)
nta on() img == con 線程關閉 sse 每一個 sockaddr http://www.cnblogs.com/worldtraveler/p/4685977.html 一、基本原理 有時候我們需要實現一個公共的模塊,需要對多個其他的模塊提供服務,最常用
牛元帥源碼下載搭建 H5鬥牛源碼下載
找到 領域 作品 線索 其他 我認 http 世人 邏輯 50年以前,William Higinbotham用一個示波器和一些模擬電路制作了第一款電子遊戲。雖然自那以後,遊戲已經發生了翻天覆地的變化,但今天的AAA遊戲大作的成功也部分歸功於數年以前就存在的設計創新。在本
從零開始利用vue-cli搭建簡單音樂網站(一)
路徑 nod .com mman csdn desc blog -a where 最近在學習vue框架,練習了一些例子之後,想著搭建一個vue項目,了解到官方有提供一個vue-cli工具來搭建項目腳手架,嘗試了一下,寫下博客來記錄一下。 一、工具環境 1、node.js 6
通過ftp搭建本地yum源
本地 yum iso 由於本地局域網所限,所以必須要搭建一個yum源;服務器是內部服務器,不能訪問公網;且只能在公司鏈接,限制了源IP;正發愁怎麽把ISO上傳到服務器上;服務器down了,磁盤壞道,而且做的raid0;換盤重裝系統,又讓我手欠的刪除了glibc包;然後悲催的去機房直連主機進入拯救模
linux系統搭建本地yum源以及搭建第3方軟件倉庫
linux 基礎 學習篇 搭建yum源與軟件倉庫一、搭建本地yum源 yum是上層軟件管理工具,可以解決軟件的依賴關系,但是yum能使用的前提是必須要有yum源,以及配置源的指向文件。1.配置鏡像安裝源一般情況,我會把重要的文件保存在根目錄下,這裏將鏡像導入根下的1.配置鏡
json-server搭建使用
目錄 news spa -c 一個 ins sna nodejs content 項目中前端和後端通常是並行開發,為了減少等待後端接口開發的時間,我們經常需要在本地模擬後端接口用來測試前端效果。這種做法稱之為構建前端Mock。 本地啟動一個靜態服務,將所需要的接口寫成js
drf結合sql server搭建後臺管理系統
-i editor forms 後臺管理系統 虛擬 span export xadmin 配置 1. 安裝Python3.6 添加到WORKON_HOME系統變量 2.pip install virtualenvwrapper 3.mkvirtualenv project1