2011-11-04 89 views
18

我在安装python + virtualenv + django时遇到了一些问题,需要帮助。Python + Django + VirtualEnv + Windows

系统:Windows 7,64b

我该怎么办? 1)安装了Python 2.7.2安装VIRTUALENV

E:\APPZ\Console2>C:\Python27\Scripts\easy_install.exe virtualenv 

4)创建的virtualenv(32位) 2)安装setuptools的(32个比特) 3):

E:\APPZ\Console2>virtualenv E:\CODE\wamp\www\AMBIENTES\env 

5 )很好,现在我创建了一个“.bat”来使用我的env,然后放在C:\ Windows中。

C:\ WINDOWS \ python.bat

cmd.exe /k E:\CODE\wamp\www\AMBIENTES\env\Scripts\activate.bat 

到目前为止好 现在我执行的python.bat和安装的Django:

E:\APPZ\Console2>python 

E:\APPZ\Console2>cmd.exe /k E:\CODE\wamp\www\AMBIENTES\env\Scripts\activate.bat 
(env) E:\APPZ\Console2>cd E:\CODE\wamp\www\AMBIENTES\Django-1.2.7 

(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>python setup.py install 
django installed (1.2.7) successfully. 

而现在,问题:

(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7>E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py --version 
Traceback (most recent call last): 
    File "E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py", line 2, in <module> 
    from django.core import management 
ImportError: No module named django.core 

(env) E:\CODE\wamp\www\AMBIENTES\Django-1.2.7> 

-

有谁知道我能做些什么吗?

+2

如果不是从源代码安装而是使用'pip install Django == 1.2.7'或'easy_install Django == 1.2.7',会发生什么? (pip/easy_install在安装时天生就知道虚拟环境,Django的setup.py脚本可能不会) –

+0

不会将您的文件命名为python.bat!这只是要求与真正的“python.exe”发生冲突和名称冲突。 –

+0

@MaxFerreira,如果您发现我的答案有用,请将其标记为“已接受的答案” – ajukraine

回答

0

我相信你的问题是,使用Django源代码的python setup.py install将Django安装在主站点packages/dist-packages路径而不是你的虚拟环境中。

相反,使用PIP或使用easy_install:

$ pip install Django==1.2.7 --OR -- $ easy_install Django==1.2.7 

如果你不能直接从PyPI中(企业防火墙等)下载,你可以通过稍微修改命令使用已有的源:

$ pip install -f file:///E/CODE/wamp/www/AMBIENTES/ Django==1.2.7 

(转换的Windows路径可能需要一些调整。我认为这是正确的,但它已经一段时间)

15

我知道这个问题是旧的,也许不是实际的了作者。但就Google出现的顶部而言,我会留下帮助我的答案。

对于类似的question基本上正确的答案是posted

严格地说,执行django-admin.py --version时会调用错误的Python安装。为了检查你使用哪个Python,在“命令行”中键入ftype Python.File。如果它不是virtualenv中的一个,那么你可以重新关联默认的Python:

ftype Python.File="E:\CODE\wamp\www\AMBIENTES\env\Scripts\python.exe" "%1" %*

或取消设置文件关联(从CMD。exe文件):

assoc .py= 
ftype Python.File= 

后重新关联.py扩展程序,应指定完整路径执行Python文件:

E:\CODE\wamp\www\AMBIENTES\env\Scripts\python.exe E:\CODE\wamp\www\AMBIENTES\env\Scripts\django-admin.py --version

或者,如果你愿意,你可以编辑的virtualenv的activate.bat将特定的.py关联,使用assocftype命令行实用程序,如上所述。

+1

对于'ftype'和'assoc' +1,不知道他们 – n611x007

+0

需要使用virtualenv版本的完整路径蟒蛇 - 感谢明确的例子! – TaiwanGrapefruitTea