Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;在Python3上不应访问此软件包;运行python3时_Python_Macos - Fatal编程技术网

&引用;在Python3上不应访问此软件包;运行python3时

&引用;在Python3上不应访问此软件包;运行python3时,python,macos,Python,Macos,在我学会在Mac上同时使用python和python3之前,我曾尝试使用virtualenv在python版本之间切换 我能够修复我的python 2.7版本,因此仍然可以正常工作。但是,现在,当我运行python 3时,出现以下错误: Failed to import the site module Traceback (most recent call last): File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.frame

在我学会在Mac上同时使用python和python3之前,我曾尝试使用virtualenv在python版本之间切换

我能够修复我的python 2.7版本,因此仍然可以正常工作。但是,现在,当我运行python 3时,出现以下错误:

Failed to import the site module
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 544, in <module>
main()
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 282, in addusersitepackages
user_site = getusersitepackages()
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 258, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 248, in getuserbase
USER_BASE = get_config_var('userbase')
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", line 601, in get_config_var
return get_config_vars().get(name)
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", line 580, in get_config_vars
import _osx_support
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py", line 4, in <module>
import re
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py", line 125, in <module>
import functools
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/functools.py", line 21, in <module>
from collections import namedtuple
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/collections/__init__.py", line 32, in <module>
from reprlib import recursive_repr as _recursive_repr
  File "/usr/local/lib/python2.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.

您的环境包含
PYTHONPATH=/usr/local/lib/python2.7/site包

这不适用于Python3,原因很明显。要删除它,请执行以下操作:

unset PYTHONPATH

我用下面的命令解决了我的问题

sudo pip install virtualenv --upgrade
virtualenv -p python3 env

env | egrep-i'python | virtualenv'
的输出添加到question@CharlesDuffy添加了输出,但我想保留python和python3。取消设置是否会影响我的python(2.7)?如果其配置正确/正常,默认情况下,它将在其
sys.path
中拥有自己的
站点包。因此,如果取消设置
PYTHONPATH
会破坏您的Python2.7,那么您的Python2.7安装中的某些内容已经被破坏。谢谢,修复了它!由于某些原因,每次我需要使用python3时,我都必须取消设置它。有什么方法可以使其永久化吗?首先找到设置永久化的位置,然后将其撤消。这不是默认情况下存在的东西。仅供参考,对于复制粘贴程序,这将创建一个名为
env
的虚拟环境,运行Python 3,然后您可以通过激活w/
source env/bin/activate
来使用它。您还需要了解
deactivate
哪些python
命令可以在python环境中跳转。鉴于OP希望在Python2X和Python3X之间切换,这是最好的方法。
sudo pip install virtualenv --upgrade
virtualenv -p python3 env