python - 无法在正确的 python 版本上安装 python 包?

标签 python linux python-3.x pip

在 linux 机器“Ubuntu 16.04.5 LTS”上,我至少安装了 3 个版本的 python:2.7、3.5 和 3.6.8

我遇到了一个问题,尤其是在 3.6 和 3.5 之间。

在使用 jupyter notebook 时,我看到它使用的是 3.6.8 python 版本。

但是当我尝试安装一个包时,pip 将它安装在 3.5 中。同样的问题是在终端中运行的 python。它运行 3.6.8

示例:

无论是在 jpyter 上还是在终端上,我都无法导入 pandas 包。 import pandas 返回模块未安装错误消息。

但是我检查的时候发现安装的可能是python3.5而不是3.6.8

我用 pip 安装它,但我仍然遇到同样的问题。我实际上不知道如何在不删除所有内容并从头开始的情况下解决这个问题,因为我有一个非常复杂的包设置,花了我很长时间来设置。

解决方案here没有太大帮助,因为我的电脑上没有 pip3.x。

你的想法?

最佳答案

由于您试图避免重新安装复杂的设置,并且它们可以很好地工作,因此使用 conda 甚至 venv 可能不太适合您。

但是,您始终可以在 PATH 中的某处创建适当命名的符号链接(symbolic link),以指向正确版本的 pip。所以如果你有 ~/bin 在你的路径上,做类似的事情

ln -s /usr/lib/python2.7/...pip ~/bin/pip2.7
ln -s /usr/lib/python3.5/...pip ~/bin/pip3.5
ln -s /usr/lib/python3.6.8/...pip ~/bin/pip3.6

如果您有 root 访问权限,您甚至可以将链接直接放入 /usr/bin/ 或您喜欢的任何位置。现在您可以运行 pip2.7pip3.5pip3.6 并在您想要的地方安装东西。

但在未来,希望您能从头痛中吸取教训并使用虚拟环境。

关于python - 无法在正确的 python 版本上安装 python 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272262/

相关文章:

Python 循环创建字典

linux - Swift 2.2 Linux - 打开文件进行读取

python - 使用 Python 而不是 HTML 从网站中提取链接

python-3.x - 如何强制 python 的请求库超时(包括 DNS 查找)

python - Pygame 查询 - 在同一类中生成多个 Sprite

python - GitHub 操作找不到 Django 的环境变量

python - 尝试创建嵌套字典时出现 KeyError

linux - if语句中的shell条件

linux - Linux中每个进程的最大线程数?

python - 如何在 python 3.6 中使用类型提示?