我正在用Python2.7.3开发Ubuntu12.04x64,我刚刚将Django1.5.4站点移植到Virtualenv1.7.1.2。
但是,我注意到,当Python命令从活动的virtualenv运行时,它比使用系统的Python安装时慢得多。E、 g.runnigpython manage.py validate
使用系统的Python持续~1s,而在virtualenv环境中运行的同一命令持续~4s。这正常吗?我遗漏了什么吗?在使用Apache+virtualenv部署此站点时,我是否会遇到效率问题?
注意:当本地Django开发服务器运行时,我在使用站点时没有注意到效率问题。它似乎只影响从virtualenv内部的shell运行的python命令。。。这是真的吗?
更新1:
这里有一个我实际得到的时间的例子:
enric@developer:~/Documentos/workspace/EurekaStart$ time python manage.py validate
0 errors found
real 0m1.049s
user 0m0.648s
sys 0m0.120s
enric@developer:~/Documentos/workspace/EurekaStart$ source env/bin/activate
(env)enric@developer:~/Documentos/workspace/EurekaStart$ time python manage.py validate
0 errors found
real 0m5.261s
user 0m0.968s
sys 0m1.032s
更新2:
我做了进一步的测试,并将virtualenv更新到了最新版本1.10.1,我注意到时代进步了,但只是一点点(0.5到1)。我还尝试使用--system-site-packages
标记创建env,时间比使用系统默认的Python慢得多。以下是时代周刊:
使用未使用system-site-packages
创建的env
:
(env)enric@developer:~/Documentos/workspace/EurekaStart$ time python manage.py validate
0 errors found
real 0m4.648s
user 0m1.008s
sys 0m0.824s
使用使用system-site-packages
创建的env2
:
(env2)enric@developer:~/Documentos/workspace/EurekaStart$ time python manage.py validate
0 errors found
real 0m1.921s
user 0m0.760s
sys 0m0.312s
注意,没有任何env的正常执行持续1s(如update1所述)。
我刚刚创建了同样的virtualenv,里面安装了完全相同的libs,都是从一个新的Ubuntu 12.04(live CD)开始的,一切正常!它甚至在这台新机器上运行得更快:0.6s而不是我的机器中的1.0。
值得注意的一点是:如果我在我的真实机器中使用从新的Ubuntu创建的virtualenv,它的运行速度与在没有virtualenv的情况下执行命令的速度一样快,这正是实际需要的。但是,如果我使用从这台机器创建的virtualenvs,那么它们运行得非常慢。
所以,我想系统中安装的libs确实会影响virtualenv的创建方式。
现在,问题是。。。是否有任何方法可以清除我的Ubuntu安装以创建高效的virtualenvs?是否有任何已知的库可能导致此问题?(系统中没有损坏的包,因为我已经检查过了)。
目前没有回答
相关问题 更多 >
编程相关推荐