[轉]使用國內鏡像源來加速python pypi包的安裝


使用國內鏡像源來加速python pypi包的安裝

http://topmanopensource.iteye.com/blog/2004853

 

 

博客分類:  

pipy國內鏡像目前有:

 

http://pypi.douban.com/  豆瓣

http://pypi.hustunique.com/  華中理工大學

http://pypi.sdutlinux.org/  山東理工大學

http://pypi.mirrors.ustc.edu.cn/  中國科學技術大學

 

對於pip這種在線安裝的方式來說,很方便,但網絡不穩定的話很要命。使用國內鏡像相對好一些,

 

如果想手動指定源,可以在pip后面跟-i 來指定源,比如用豆瓣的源來安裝web.py框架:

pip install web.py -i http://pypi.douban.com/simple

 

注意后面要有/simple目錄!!!

 

要配制成默認的話,需要創建或修改配置文件(linux的文件在~/.pip/pip.conf,windows在%HOMEPATH%\pip\pip.ini),修改內容為:

code:

[global]

index-url = http://pypi.douban.com/simple

 

這樣在使用pip來安裝時,會默認調用該鏡像。

更多配置參數見:http://www.pip-installer.org/en/latest/configuration.html

 

 

 

Configuration

Config file

pip allows you to set all command line option defaults in a standard ini style config file.

The names and locations of the configuration files vary slightly across platforms.

  • On Unix and Mac OS X the configuration file is: $HOME/.pip/pip.conf
  • On Windows, the configuration file is: %HOME%\pip\pip.ini

You can set a custom path location for the config file using the environment variable PIP_CONFIG_FILE.

The names of the settings are derived from the long command line option, e.g. if you want to use a different package index (--index-url) and set the HTTP timeout (--default-timeout) to 60 seconds your config file would look like this:

[global]
timeout = 60 index-url = http://download.zope.org/ppix 

Each subcommand can be configured optionally in its own section so that every global setting with the same name will be overridden; e.g. decreasing the timeout to 10 seconds when running the freeze(Freezing Requirements) command and using 60 seconds for all other commands is possible with:

[global]
timeout = 60 [freeze] timeout = 10 

Boolean options like --ignore-installed or --no-dependencies can be set like this:

[install]
ignore-installed = true no-dependencies = yes 

Appending options like --find-links can be written on multiple lines:

[global]
find-links =  http://download.example.com [install] find-links =  http://mirror1.example.com  http://mirror2.example.com 

Environment Variables

pip’s command line options can be set with environment variables using the formatPIP_<UPPER_LONG_NAME> . Dashes (-) have to replaced with underscores (_).

For example, to set the default timeout:

export PIP_DEFAULT_TIMEOUT=60

This is the same as passing the option to pip directly:

pip --default-timeout=60 [...] 

To set options that can be set multiple times on the command line, just add spaces in between values. For example:

export PIP_FIND_LINKS="http://mirror1.example.com http://mirror2.example.com"

is the same as calling:

pip install --find-links=http://mirror1.example.com --find-links=http://mirror2.example.com

Config Precedence

Command line options have precedence over environment variables, which have precedence over the config file.

Within the config file, command specific sections have precedence over the global section.

Examples:

  • --host=foo overrides PIP_HOST=foo
  • PIP_HOST=foo overrides a config file with [global] host = foo
  • A command specific section in the config file [<command>] host = bar overrides the option with same name in the [global] config file section

Command Completion

pip comes with support for command line completion in bash and zsh.

To setup for bash:

$ pip completion --bash >> ~/.profile

To setup for zsh:

$ pip completion --zsh >> ~/.zprofile

Alternatively, you can use the result of the completion command directly with the eval function of you shell, e.g. by adding the following to your startup file:

eval "`pip completion --bash`"


Window 需要修改:

%PYTHON_HOME%\Lib\site-packages\pip\cmdoptions.py

Java代碼   收藏代碼
  1. index_url = OptionMaker(  
  2.     '-i', '--index-url', '--pypi-url',  
  3.     dest='index_url',  
  4.     metavar='URL',  
  5.     #default='https://pypi.python.org/simple/',  
  6.      default='http://mirrors.bistu.edu.cn/pypi/',  
  7.     help='Base URL of Python Package Index (default %default).')  

 

%PYTHON_HOME%\Lib\site-packages\pip\commands\search.py

 

Java代碼   收藏代碼
  1. class SearchCommand(Command):  
  2.     """Search for PyPI packages whose name or summary contains <query>."""  
  3.     name = 'search'  
  4.     usage = """  
  5.       %prog [options] <query>"""  
  6.     summary = 'Search PyPI for packages.'  
  7.   
  8.     def __init__(self, *args, **kw):  
  9.         super(SearchCommand, self).__init__(*args, **kw)  
  10.         self.cmd_opts.add_option(  
  11.             '--index',  
  12.             dest='index',  
  13.             metavar='URL',  
  14.             #default='https://pypi.python.org/pypi',  
  15.             default='http://mirrors.bistu.edu.cn/pypi/',  
  16.             help='Base URL of Python Package Index (default %default)')  
  17.   
  18.         self.parser.insert_option_group(0, self.cmd_opts)  

 

[Linux]修改easy_install和pip的鏡像地址

使用easy_install和pip會讓Pyhthon的模塊安裝和管理變得非常簡單,但是,如果你身在國內的話,從官方的鏡像下載的速度是很令人抓狂的事情,如同修改apt-get或yum的鏡像地址一樣,easy_install和pip也需要修改鏡像地址。修改easy_install和pip的鏡像地址通常可以有以下兩種方法,可以分別使用命令和配置方式實現。

方法1:命令方式臨時修改 easy_install:

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

pip:

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

 

方法2:配置方式修改 easy_install: 1.打開pydistutils.cfg

1
vi ~/.pydistutils.cfg

2.寫入以下內容

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

pip: 1.打開pip.conf

1
vi ~/.pip/pip.conf

2.寫入以下內容

1
2
[global]
index-url = http://e.pypi.python.org/simple

速度比較快的國內鏡像,都來自清華大學,服務器在北京。公網的服務器為官方鏡像 公網:http://e.pypi.python.org/simple 教育網:http://pypi.tuna.tsinghua.edu.cn/simple


免責聲明!

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



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