我试图在virtualenv中运行Openblock,但问题是Openblock需要Django 1.2.5并且我已经在服务器上安装了Django 1.1.1.
$ python -c "import django;print django.get_version()"
返回1.1.1
激活virtualenv后,相同的命令返回1.2.5.到现在为止还挺好.
但是当我yolk -l
在virtualenv中运行时,它显示1.1.1为活动,1.2.5为非活动.
您需要将yolk安装到virtualenv中,否则它将列出系统包; 蛋黄对当前的virtualenv一无所知.因此运行pip install yolk
virtualenv激活.(如果你没有创建你的virtualenv --no-site-packages
,你需要运行pip install --upgrade yolk
).
我只是重新创建了这个场景(除了Debian squeeze,其中Django的操作系统版本是1.2.3)并且它有效.用--no-site-packages
:
% . foo/bin/activate
(foo)% yolk -l Django
Django - 1.2.5 - active
(foo)% deactivate
Run Code Online (Sandbox Code Playgroud)
没有:
% . bar/bin/activate
(bar)% yolk -l Django
Django - 1.2.3 - non-active development (/usr/lib/pymodules/python2.6)
Django - 1.2.5 - active
Run Code Online (Sandbox Code Playgroud)
一般来说,如果你运行在virtualenv之外安装的任何Python程序,你不应该指望他们对virtualenv有任何了解,除非他们已经被编写以了解virtualenv(例如pip PIP_RESPECT_VIRTUALENV
).
归档时间: |
|
查看次数: |
953 次 |
最近记录: |