如何在我的虚拟环境中使用 Python 3 (3.5) 作为默认解释器?
How to use Python 3 (3.5) as the default interpreter in my virtual environment?
我在 Mac 上安装 Python 3.5 时遇到了问题 运行。当我 运行 我的 Django 开发服务器时,我想使用 Python 3.5 作为解释器。我在尝试时遇到了这个问题(我知道我必须安装一个 virtualenv,请阅读下文):
$ python3 manage.py runserver
Traceback (most recent call last):
File "manage.py", line 7, in <module>
from mezzanine.utils.conf import real_project_name
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/Mezzanine-4.0.1-py3.5.egg/mezzanine/utils/conf.py", line 7, in <module>
from django.conf import global_settings as defaults
ImportError: No module named 'django'
第一次是当我尝试安装 pip 包时,它默认安装在我的虚拟环境中的 Python 2.7 上:
pip install django==1.9rc2
Collecting django==1.9rc2
Downloading Django-1.9rc2-py2.py3-none-any.whl (6.4MB)
100% |████████████████████████████████| 6.4MB 66kB/s
Installing collected packages: django
Successfully installed django-1.9rc2
我用的是Django,所以我也是第一次尝试安装虚拟环境。首先我用 pip 试了一下,但是没有用。
那么我该如何设置才能使我的 Python3.5 成为使用 Python 解释器和我的虚拟环境时的默认用法?我无法弄清楚,或者我在我的过程中做错了什么。
编辑:
感谢您的回答和评论。我尝试了这两种解决方案,但仍然存在相同的错误。请参阅下面的输出:
$ virtualenv -p /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 Django/
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/virtualenv.py", line 14, in <module>
import shutil
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/shutil.py", line 10, in <module>
import fnmatch
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/fnmatch.py", line 15, in <module>
import functools
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/functools.py", line 21, in <module>
from collections import namedtuple
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/collections/__init__.py", line 16, in <module>
from reprlib import recursive_repr as _recursive_repr
File "/Library/Python/2.7/site-packages/reprlib/__init__.py", line 7, in <module>
raise ImportError('This package should not be accessible on Python 3. '
ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted.
我的virtualenv版本: 13.1.2
首先,如果你要使用多个版本的 python,那么你必须使用 Virtual Env.Also 然后使用以下命令创建你的 virtualenv 以便它使用 python 3.5作为默认环境:
virtualenv -p python3 envname
然后在 virtualenv.after 中安装 django 激活你的 virtualenv
您的错误与已知的 virtualenv
bug 关于 python-future
和混淆 2.7 和 3.x 模块路径有关,解决方案是降级 virtualenv
到版本 < 12.04,12.0.2
建议在 link.
我在 Mac 上安装 Python 3.5 时遇到了问题 运行。当我 运行 我的 Django 开发服务器时,我想使用 Python 3.5 作为解释器。我在尝试时遇到了这个问题(我知道我必须安装一个 virtualenv,请阅读下文):
$ python3 manage.py runserver
Traceback (most recent call last):
File "manage.py", line 7, in <module>
from mezzanine.utils.conf import real_project_name
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/Mezzanine-4.0.1-py3.5.egg/mezzanine/utils/conf.py", line 7, in <module>
from django.conf import global_settings as defaults
ImportError: No module named 'django'
第一次是当我尝试安装 pip 包时,它默认安装在我的虚拟环境中的 Python 2.7 上:
pip install django==1.9rc2
Collecting django==1.9rc2
Downloading Django-1.9rc2-py2.py3-none-any.whl (6.4MB)
100% |████████████████████████████████| 6.4MB 66kB/s
Installing collected packages: django
Successfully installed django-1.9rc2
我用的是Django,所以我也是第一次尝试安装虚拟环境。首先我用 pip 试了一下,但是没有用。
那么我该如何设置才能使我的 Python3.5 成为使用 Python 解释器和我的虚拟环境时的默认用法?我无法弄清楚,或者我在我的过程中做错了什么。
编辑:
感谢您的回答和评论。我尝试了这两种解决方案,但仍然存在相同的错误。请参阅下面的输出:
$ virtualenv -p /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 Django/
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/virtualenv.py", line 14, in <module>
import shutil
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/shutil.py", line 10, in <module>
import fnmatch
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/fnmatch.py", line 15, in <module>
import functools
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/functools.py", line 21, in <module>
from collections import namedtuple
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/collections/__init__.py", line 16, in <module>
from reprlib import recursive_repr as _recursive_repr
File "/Library/Python/2.7/site-packages/reprlib/__init__.py", line 7, in <module>
raise ImportError('This package should not be accessible on Python 3. '
ImportError: This package should not be accessible on Python 3. Either you are trying to run from the python-future src folder or your installation of python-future is corrupted.
我的virtualenv版本: 13.1.2
首先,如果你要使用多个版本的 python,那么你必须使用 Virtual Env.Also 然后使用以下命令创建你的 virtualenv 以便它使用 python 3.5作为默认环境:
virtualenv -p python3 envname
然后在 virtualenv.after 中安装 django 激活你的 virtualenv
您的错误与已知的 virtualenv
bug 关于 python-future
和混淆 2.7 和 3.x 模块路径有关,解决方案是降级 virtualenv
到版本 < 12.04,12.0.2
建议在 link.