学习flask,安装virtualenv环境,这些带都ok,但是一安装包总是出错无法安装,
http://pi./这个就是官网了,清华大学提供的
建议非清华大学校内的使用这个镜像: http://pi.Python.org/simple(这也是一个http://pypi./simple),清华校内的就使用这个:http://mirrors.tuna./pypi/simple
使用镜像的方法可以在每次执行pip的时候加上参数"-i http://pi./simple"即可,
或者也可以在本地配置,这样就不用每次都加上参数了,应用Cheer Xiao的配置(http://blog./post/2012-11-01/pypi-mirror):
- 使用pip的用户可以如下配置:
-
- 在unix和macos,配置文件为:$HOME/.pip/pip.conf
- 在windows上,配置文件为:%HOME%\pip\pip.ini
-
- 需要在配置文件内加上:
-
- [global]
- index-url=http://mirrors.tuna./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://pi./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://pi./simple竟然不行了
= =!,找到这个镜像地址不错http://pypi./simple
哦,安装Flask0.9版本也很容易,直接pip install Flask==0.9即可。
(决定以后每篇文章都先放一张搞笑的图,让自己乐呵一下)
Virtualenv和pip小探
转载自:http:///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://pi./simple
timeout = 30
require-virtualenv = true
download-cache = /tmp
[install]
use-mirrors = true
mirrors =
http://d.pypi.
http://b.pypi.
http://c.pypi.
下载应该就会像飞了一样,配置文件过于清晰,所以我也不用多说了吧 :)
########################################################################
Python的virtualenv和pip
转载自:http://blog./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 www./en/latest/…
安装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:///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 是个包管理系统,使用它能方便的安装我们想要的包。
安装
使用pip 的install 命令即可安装一个指定的软件包:
$ 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.po/SomePackage-1.0.4.zip
卸载
要卸载一个软件包,使用uninstall 命令即可:
$ pip uninstall package-name
查询
如果不清楚要安装的软件包的具体名称,可以使用search 命令进行查询:
$ pip search "query"
它会列出所有相关的软包。
参考
|