搭建本地pip源


搭建本地的pip源

開發環境部署機器的時候, 每次從網上下載pip包會很慢, 將需要的包和相關依賴下載到本地, 搭建一個本地源服務器。

基本都是安裝多個包, 推薦使用文件的方式,
文件內容格式, 可以指定版本package==1.0.0, 也可以不指定package, 每個包名在一行:

package==1.0.0
package==1.0.0
package==1.0.0

安裝pip2pi工具

安裝pip install pip2pi, pip2pi中包含很多相關的命令。

在指定目錄下創建存放源文件的目錄

mkdir ~/pypi

下載包

下載單獨包pip2tgz path package==1.0, 可以指定版本, 默認是最新的包

批量下載pip2tgz path -r requirements.txt

建立索引

dir2pi path, 會創建simple文件夾

更新索引

多個包: pip2acmeco -r requirements.txt

單個包: pip2acmeco package==1.0.0

搭建服務器

使用nginx, sudo yum install nginx, 修改配置文件sudo vim /etc/nginx/nginx.conf

server {
    listen 80;
    server_name ip或域名;
    root path;
    location /{
        autoindex on;
        autoindex_exact_size off; #顯示文件的大小
        autoindex_localtime on; #顯示文件時間
        #limit_rate_after 5m; #5分鍾后下載速度限制為200k
        limit_rate 200k;
    }
    access_log /var/log/nginx/pypi.log main;
}

修改user xxxpath文件夾的用戶和組名user name group.

使用sudo nginx -t查看配置文件是否正確

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重啟nginx服務器sudo systemctl restart nginx

訪問pypi/simple403錯誤, 查看ps -ef | grep nginx顯示的worker process是否是和pypi文件夾的權限一致, 如果不一致, 修改nginx.conf, 修改user xxx為, user name group, namegrouppypi的文件夾用戶和組.

使用搭建的pypi源

全局配置pip源

編輯~/.pip/pip.conf文件:

[global]
index-url=http://ip:port/pypi/simple

虛擬環境pip源

編輯虛擬環境中venv/pip.conf:

[global]
index-url=http://ip:port/simple
[install]
trusted-host=ip

示例

sudo yum install -y epel-release
sudo yum install -y mysql-devel
sudo yum install -y nginx

sudo pip install --upgrade pip
sudo pip2tgz /home/pypi/ -r requirements.txt
sudo dir2pi /home/pypi
sudo pip2acmeco -r requirements.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM