在pythonanywhere中使用Virtualenv时错误的Python版本

时间:2015-07-13 12:24:37

标签: python django pythonanywhere

为了使用Pyhton 3.3& django 1.8,我正在使用Virtualenv(用于pythonanywhere中的网络应用程序)

我按照以下说明操作: https://www.pythonanywhere.com/wiki/VirtualEnvForNewerDjango

进入控制台,显示我使用的是3.3版

(django18)12:04 ~ $ python
Python 3.3.6 (default, Jan 28 2015, 17:27:09) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

这也是我想在我的网络应用中使用的版本:

Python version:3.3 (in the code pane)

然而,当我将Virtualenv窗格指向Virtualenv目录(名为django18)时,我收到以下警告:

This virtualenv seems to have the wrong Python version (2.7 instead of 3.3).

以下是所有控制台(我在创建应用程序并指定Python版本后运行它):

        06:43 ~ $ mkvirtualenv --python=/usr/bin/python3.3 django18
Running virtualenv with interpreter /usr/bin/python3.3
Using base prefix '/usr'
New python executable in django18/bin/python3.3
Not overwriting existing python script django18/bin/python (you must use django18/b
in/python3.3)
Installing setuptools, pip, wheel...done.
(django18)06:44 ~ $ which pip
/home/yschellekens/.virtualenvs/django18/bin/pip
(django18)06:44 ~ $ pip install django
Requirement already satisfied (use --upgrade to upgrade): django in ./.virtualenvs/
django18/lib/python3.3/site-packages
(django18)06:44 ~ $ which django-admin.py
/home/yschellekens/.virtualenvs/django18/bin/django-admin.py
(django18)06:44 ~ $ django-admin.py --version
1.8.3
(django18)06:44 ~ $ django-admin.py startproject mysite
CommandError: '/home/yschellekens/mysite' already exists

另见:

08:29 ~/.virtualenvs/django18/bin $ ls
__pycache__       django-admin.py   pip           postdeactivate  python3
activate          django-admin.pyc  pip2          preactivate     python3.3
activate.csh      easy_install      pip2.7        predeactivate   wheel
activate.fish     easy_install-2.7  pip3          python
activate_this.py  easy_install-3.3  pip3.3        python2
django-admin      get_env_details   postactivate  python2.7
08:29 ~/.virtualenvs/django18/bin $

我的问题是:我应该在哪里指向Python 3.3?

提前致谢!

2 个答案:

答案 0 :(得分:5)

在我看来,你的virtualenv在某种程度上得到了Python的2.7版本和3.3版本。尝试删除它并重新创建它:

rmvirtualenv django18
mkvirtualenv --python=/usr/bin/python3.3 django18
pip install django # reinstall django and any other packages you need.

为什么不顺便使用Python 3.4?

答案 1 :(得分:1)

  

不覆盖现有的python脚本django18 / bin / python

因为您使用python 2.7创建env然后使用python 3.3,所以django18 / bin / python脚本仍然指向python 2.7。编辑django18/bin/python或删除env,仅使用mkvirtualenv --python=/usr/bin/python3.3 django18命令。

旧答案:

从您提供的链接:

  

提示:如果你想使用Python 3作为你的virtualenv,请使用mkvirtualenv   --python = / usr / bin / python3.4 django18

https://www.pythonanywhere.com/wiki/VirtualEnvForNewerDjango