【发布时间】:2018-12-24 17:59:18
【问题描述】:
使用 Ubuntu 16.04。在主环境中不存在以下问题。但我正在使用 Docker,我面临以下问题。
同时拥有 python 版本 2.7(2.7.12) 和 3.5(3.5.2)。 在使用 python3.5 时,有时会出现错误,例如: …… …… 文件“/usr/lib/python2.7/urllib2.py”,第 254 行 引发 AttributeError, attr ^ SyntaxError: 无效语法
而且python2.7不能用。
$python2.7
File "/usr/lib/python3.5/site.py", line 182
file=sys.stderr)
^
SyntaxError: invalid syntax
似乎,它与 3.5 和 2.7 混淆了,给两者都带来了问题。 找了很久,还没找到解决办法。由于建议不要卸载 2.7,因此尝试“删除”3.5,但最终出现错误。我也安装了3.6。但是也不能用。
一些其他信息,以备不时之需。
$ python --version
Python 2.7.12
$ python2 --version
Python 2.7.12
$ python3 --version
Python 3.5.2
$python2.7 -m site --user-site
File "/usr/lib/python3.5/site.py", line 182
file=sys.stderr)
^
SyntaxError: invalid syntax
$python3.5 -m site --user-site
/root/.local/lib/python3.5/site-packages
在 /usr/local/lib/python3.5/site-packages 下,有很多包,预装的和我后来安装的。
然而,在 /usr/local/lib/python2.7/ 下有两个文件夹,/dist-packages 和 /site-packages 都是空的。
我主要使用 pip 和 pip3.5 安装软件包。
$pip --version
pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
$pip3 --version
pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
$pip2 --version
File "/usr/lib/python3.5/site.py", line 182
file=sys.stderr)
^
SyntaxError: invalid syntax
添加作为对那些善意建议解决方案的回应。
(1) 尝试删除 3.5 和 3.6,但都以错误告终。
尝试删除 3.5 和 3.6,但最终报错。即使试图说 3.6 与其他各种它给出相同的错误消息,
File "/usr/lib/python3.5/site.py",
line 182
file=sys.stderr)
^
SyntaxError: invalid syntax
此外,在阅读了其他帖子之后,似乎删除 python 版本可能 导致其他问题。我是 Python 新手,不确定它的环境设置 ets。
(2) 已试用此示例代码进行测试。
from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.5)
from sklearn.neighbors import KNeighborsClassifier
my_classifier = KNeighborsClassifier()
my_classifier.fit(X_train, y_train)
predictions = my_classifier.predict(X_test)
from sklearn.metrics import accuracy_score
print (accuracy_score(y_test, predictions))
出现以下错误。
python3.5 iris_classifier.py
Traceback (most recent call last):
File "iris_classifier.py", line 1, in <module>
from sklearn import datasets
File "/usr/local/lib/python3.5/dist-packages/sklearn/datasets/__init__.py", line 25, in <module>
from .mldata import fetch_mldata, mldata_filename
File "/usr/local/lib/python3.5/dist-packages/sklearn/datasets/mldata.py", line 12, in <module>
from urllib2 import HTTPError
File "/usr/lib/python2.7/urllib2.py", line 254
raise AttributeError, attr
^
SyntaxError: invalid syntax
【问题讨论】:
-
您能告诉我们您尝试运行什么以及使用哪个命令吗?
标签: python