1. 程式人生 > >使用國內映象通過pip安裝python的一些包

使用國內映象通過pip安裝python的一些包

學習flask,安裝virtualenv環境,這些帶都ok,但是一安裝包總是出錯無法安裝,

建議非清華大學校內的使用這個映象: http://e.pypi.python.org/simple(這也是一個http://pypi.v2ex.com/simple),清華校內的就使用這個:http://mirrors.tuna.tsinghua.edu.cn/pypi/simple

使用映象的方法可以在每次執行pip的時候加上引數"-i http://e.pypi.python.org/simple"即可,

使用pip的使用者可以如下配置:

在unix和macos,配置檔案為:$HOME/.pip/pip.conf
在windows上,配置檔案為:%HOME%\pip\pip.ini

需要在配置檔案內加上:

[global]
index-url=http://mirrors.tuna.tsinghua.edu.cn/pypi/simple

還有一個小技巧,就是把所有要安裝的包寫在一個檔案裡面,比如requirement.txt(每個包寫一行,頂行頭寫),然後pip安裝的時候只需要加引數“-r  requirement.txt”即可。

安裝好之後體驗了一把,速度颼颼的~~

ps:

    使用步驟:

          1.進入目錄下使用命令:virtualenv env

        2.source env/bin/activate,這時候你會發現命令列前面會多出個(env)標識,這表明你已經進入了虛擬環境了。

         寫個簡單的hello.py驗證:

#!/usr/bin/python
from flask import Flask

app = Flask(__name__)

@app.route('/', methods = ['GET', 'POST'])
def hello():
    return 'Hello world!'

if __name__ == '__main__':
    app.run()
提示沒有flask包,使用上面的方法pip之,pip install  -i http://e.pypi.python.org/simple  flask,速度超快,安裝之,執行,OK。

解惑:為什麼這樣安裝酒OK了?而且不會對系統的原有的包造成影響?

檢視env目錄下的內容,發現在env/lib/pythonX.X/site-packages目錄下有這些安裝的包,比如我的下面有這些:

distribute-0.6.24-py2.7.egg  itsdangerous-0.23-py2.7.egg-info  Jinja2-2.7.1-py2.7.egg-info     setuptools.pth
easy-install.pth             itsdangerous.py                   markupsafe                      werkzeug
flask                        itsdangerous.pyc                  MarkupSafe-0.18-py2.7.egg-info  Werkzeug-0.9.3-py2.7.egg-info
Flask-0.10.1-py2.7.egg-info  jinja2                            pip-1.1-py2.7.egg

這就是虛擬機器的作用了。

終於可以安心的把精力集中到flask上了。

#2013.08.27

直接安裝flask會安裝最新0.10的版本,很悲劇的是很多擴充套件包還沒跟上此版本,所以很多功能沒法用哦~~比如Falsk-Mail的版本

所以還是重新安裝Flask的0.9版本,不過這也不是個事,有了envitualenv後環境非常容易,今天試了 -i http://e.pypi.python.org/simple竟然不行了 = =!,找到這個映象地址不錯http://pypi.v2ex.com/simple

哦,安裝Flask0.9版本也很容易,直接pip install Flask==0.9即可。



(決定以後每篇文章都先放一張搞笑的圖,讓自己樂呵一下)

Virtualenv和pip小探

轉載自:http://mengzhuo.org/blog/virtualenv%E5%92%8Cpip%E5%B0%8F%E6%8E%A2.html

2012-10-20  標籤: Linux軟體python技術  作者:me

本文獻給那些看著參差不齊的中文文件/教程,但還在堅持折騰以上兩個工具的童鞋。

宣告:本人也是菜鳥,真正的有用的概念解釋,請參看官方文件,以下都是我的個人理解。

virtualenv

這裡是導言嗎?
用過Python的同學,肯定會對Python及程式的版本之間經常更換的api感到痛苦不以。就拿我折騰的Django來說吧,公司伺服器上跑的是Django1.3、同事也是用1.3開發,但是因為我是新來,一個pip install django下去,就是1.4.2。好了,你自己寫的Django Project自然沒有問題,自己本地測試也沒有問題。但是要和其他人交流的時候就蛋疼了,因為你的1.4.2跑不了1.3的程式……當然,這時,你可以選擇解除安裝自己本地的Django,換成1.3,等你要重新測試自己的Django,怎麼樣,扯著蛋了吧。為了解決以上問題,virtualenv橫空出世了。
正文
為了解決以上蛋疼問題,我們需要安裝virtualenv。
sudo pip install virtualenv
安裝好了以後,就可以在任何目錄下新建一個virtual-environment(我更喜歡叫:盜夢空間),當然一般我習慣在專案的邊上建立一個$project_name-env。例如:
virtualenv demo-env
這下,只需要
source demo-env/bin/activate
就可以啟用這個虛擬環境了。如下圖所示:

注意到括號裡的(demo-env)了沒?對,我們已經進入了第一層夢境demo-env。
回到導言裡的問題,我們需要在這裡建立一個使用django1.3的環境,不讓它干擾我們的本地環境。
pip install Django==1.3就可以了,然後在裡面執行別人的Django程式,沒有問題!裝很多python程式,沒有問題,這些都不會干擾你的本地環境,放心破壞吧!

PIP

剛才的virtualenv的介紹裡已經說了pip的安裝命令了。但你當pip只是個安裝工具的話,那就大錯特錯了。pip還有一個更重要的功能——凍結當前夢境開發環境版本(freeze)。
pip freeze

看到了剛才安裝的django 1.3了沒有?這就是我們目前的生產環境,把這輸出結果寫到requirement.txt裡,別的程式猿們就知道你的程式至少在這個環境下可以跑,這時他們拿著requirement.txt,新建個virtualenv,pip install -r requirement.txt
就可以執行你的程式了。
pip加速安裝
通過pip安裝程式,還可以用git和svn的方式,具體操作網上也有。但是對於懶人來說,直接用pip是最好不過的了,但是,有時這會很慢!!!慢到你抓狂。當然,和apt-get一樣,pip也可以換源,或者叫新增映象。
新建一個~/.pip/pip.conf,往裡面寫入

[global]
index-url=http://e.pypi.python.org/simple
timeout = 30
require-virtualenv = true
download-cache = /tmp

[install]
use-mirrors = true
mirrors =

http://d.pypi.python.org

http://b.pypi.python.org

http://c.pypi.python.org

下載應該就會像飛了一樣,配置檔案過於清晰,所以我也不用多說了吧 :)


########################################################################

Python的virtualenv和pip

轉載自:http://blog.chenming.info/blog/2012/07/08/python-pip-virtualenv/

什麼是virtualenv

virtualenv is a tool to create isolated Python environments.

The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded.

Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.

Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host.

In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either).

What It Does 

安裝virtualenv和pip

推薦的安裝方法是安裝virtualenv,它會自動安裝pip。 最簡單安裝virtualenv的方法如下:

$ curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...

安裝pip的前提條件是要安裝setuptools 或distribute。 安裝distribute的方法:

$ curl http://python-distribute.org/distribute_setup.py | python

警告:如果是Python 3.x,必須安裝distribute,因為setuptools不支援Python 3.x

如果不想安裝virtualenv,也可以直接安裝pip

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

這可能需要root的許可權。

pip用法

pip是個包管理系統,使用它能方便的安裝我們想要的包。

安裝

使用pipinstall命令即可安裝一個指定的軟體包:

$ pip install SomePackage

如果已經安裝了某個軟體包,需要升級安裝,需要指定--upgrade引數:

$ pip install --upgrade SomePackage

如果要安裝指定的版本的軟體包,直接指定軟體包版本即可:

$ pip install SomePackage==1.0.4

pip還指定安裝包的路徑,包括從本地原始碼安裝或者網上的某個連結安裝:

$ pip install ./downloads/SomePackage-1.0.4.tar.gz
$ pip install http://my.package.repo/SomePackage-1.0.4.zip

解除安裝

要解除安裝一個軟體包,使用uninstall命令即可:

$ pip uninstall package-name

查詢

如果不清楚要安裝的軟體包的具體名稱,可以使用search命令進行查詢:

$ pip search "query"

它會列出所有相關的軟包。

參考