【发布时间】:2018-01-10 04:20:20
【问题描述】:
我想用 pip 在 python 2.7 中升级 sklearn,但我不能,因为一两天 pip 似乎指向 python 3.4,而不是 python 2.7:
> pip install -U scikit-learn
Requirement already up-to-date: scikit-learn in /home/kinkyboy/.local/lib/python3.4/site-packages
Cleaning up...
这显示了我当前的 pip* 命令:
> pip -V
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
> pip2 -V
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
> pip3 -V
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
这表明python正在使用python 2.7:
> which python
python is /usr/bin/python
python is /home/kinkyboy/conda/bin/python
> ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Jan 6 2016 /usr/bin/python -> python2.7*
我设法使用 pip2 升级了 sklearn,但是如何将 pip 指向 python 2.7?
更新: 我尝试了以下操作,但出现权限被拒绝错误。
> python -m pip install -U --force-reinstall pip
Collecting pip
Using cached pip-9.0.1-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/usr/lib/python2.7/shutil.py", line 303, in move
os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/bin/pip'
即使我知道使用 sudo 不好(尽管我过去可能使用过),我尝试使用 sudo 运行相同的命令(它有效),我尝试给出 '/usr/bin/pip' 777权限(但它仍然没有帮助运行上面的正常卸载),我也做了一个 sudo uninstall python-pip (没有帮助上面的正常卸载)。经过这些尝试后,我将一切恢复原状。
【问题讨论】:
-
您使用的是哪个操作系统?
-
linux mint,我忘记写了
-
我已经在下面回答了你的问题,看看我的解决方案是否对你有帮助。
-
谢谢,我今晚试试
-
我认为 pip 将指向最后安装的版本。所以如果你想用pip作为pip2,只需重新安装pip2
标签: python python-2.7 pip