Python环境下搭建属于自己的pip源的教程

作者:larry 时间:2021-12-19 05:57:54 

一、安装pip2pi工具:


pip install pip2pi

或:


git clone https://github.com/wolever/pip2pi
cd pip2pi
python setup.py install

二、创建存放软件包的仓库:


mkdir /opt/python/soft/pypi.jb51.net

三、下载软件包并建立索引:

单独下载某个软件包


pip2tgz /opt/python/soft/pypi.jb51.net/ routes==1.12.3

批量下载软件包:


pip2tgz /opt/python/soft/pypi.jb51.net/ -r list/requirements.txt

建立索引:


dir2pi /opt/python/soft/pypi.jb51.net/

更新索引:


pip2acmeco uliweb=0.2.6
pip2acmeco -r list/requirements.txt

四、结合nginx配置web端:

Nginx服务器添加虚拟主机配置:


server {
 listen 80;
 server_name pypi.jb51.net;
 root /opt/python/soft/pypi.jb51.net;
 location /{
  autoindex on;
  autoindex_exact_size off; #显示文件的大小
  autoindex_localtime on; #显示文件时间
  #limit_rate_after 5m; #5分钟后下载速度限制为200k
  limit_rate 200k;
 }
access_log logs/pypi.jb51.net.access.log main;
}

至此已经配置完了自己的私有pypi了 需要什么软件包的时候,自己拿到放到自己的pypi里面就可以了;

同理也可以把自己的项目打包放进去。

五、如何更好的使用pypi源:

打个比方安装下uliweb吧


pip install --index-url=http://pypi.jb51.net/simple/ uliweb

或者


pip install -i uliweb

这样是不是很麻烦,想不想默认就走自己的pypi源? 好吧,这里已经给你想好了一个方法啦:

在linux下创建~/.pip/pip.conf文件,文件内容如下


[global]
index-url = http://pypi.jb51.net/simple

如果是windows环境,创建:%HOMEPATH%\pip\pip.ini

内容和上面linux下一样.

同时推荐几个比较好的国内pypi源:


http://pypi.douban.com 豆瓣

http://pypi.hustunique.com 华中理工大学

http://pypi.sdutlinux.org 山东理工大学

http://pypi.mirrors.ustc.edu.cn 中国科学技术大学

PS:修改easy_install和pip使用的源有两种方式
(以Linux上从镜像源e.pypi.python.org下载安装requests为例):

命令方式:针对一次使用,临时修改

easy_install


easy_install -i http://e.pypi.python.org/simple requests

pip


pip install requests -i http://e.pypi.python.org/simple

注:1. 源路径要包含/simple部分;2. 使用pip时-i参数应放在install xxx的后面

修改(若没有,则创建)easy_install/pip的配置文件

easy_install:在~/.pydistutils.cfg配置文件中写入如下内容:


[easy_install]
index_url = http://e.pypi.python.org/simple

pip:在~/.pip/pip.conf配置文件中写入:


[global]
index-url = http://e.pypi.python.org/simple
标签:Python,pip
0
投稿

猜你喜欢

  • python贪吃蛇核心功能实现上

    2021-12-06 15:49:18
  • 20行Python代码实现一款永久免费PDF编辑工具

    2023-11-17 23:51:45
  • [js效果] 图片加载进度实时显示

    2007-09-12 19:27:00
  • 一些sql语句

    2009-04-10 18:36:00
  • 详解CentOS升级Python2.6到Python2.7并安装pip

    2023-06-13 18:59:45
  • Python一些基本的图像操作和处理总结

    2022-02-24 05:46:33
  • 微信小程序地图(map)组件点击(tap)获取经纬度的方法

    2023-09-03 21:33:37
  • 关于JSON以及JSON在PHP中的应用技巧

    2023-11-16 00:03:38
  • MYSQL教程:检查数据表和修复数据表

    2009-03-11 15:24:00
  • javascript判断一个元素是否数组

    2009-07-31 12:48:00
  • Python+Qt身体特征识别人数统计源码窗体程序(使用步骤)

    2021-06-03 10:40:54
  • asp详解session的用法

    2007-09-07 10:22:00
  • CSS3中的box-sizing属性

    2010-04-05 21:52:00
  • Python 下载Bing壁纸的示例

    2023-11-20 00:14:41
  • asp 过滤尖括号内所有内容的正则代码

    2011-04-03 10:40:00
  • Python设计模式之抽象工厂模式

    2021-02-06 09:18:59
  • CSS结合js实现动态更换皮肤

    2007-07-14 10:01:00
  • Javascript Closures (1)

    2009-03-18 12:14:00
  • 浅谈LogMiner的使用方法

    2009-02-28 11:12:00
  • python制作抽奖程序代码详解

    2022-05-04 08:51:18
  • asp之家 网络编程 m.aspxhome.com