python - 在 Ubuntu 中删除 1 个版本的 Python

标签 python python-2.7 ubuntu tkinter versions

显然我在不同的文件夹中安装了 2 个 Python(相同版本)...一个在 /usr/bin/ 中,另一个在 /usr/local/bin 但当我输入 python 时 shell 使用的是 /usr/local/bin 中的那个。我想使用 /usr/bin/ 版本,因为它适用于我一直在处理的许多导入,例如 numpymatplotlib Tkinter

我试过使用 pyenv 但我无法运行 Tkinter 因为 Tkinter 只为 /usr/安装bin/ 版本。

  • 有没有安全的方法可以删除/卸载其中一个版本 不会破坏我的整个 Ubuntu?

  • 有没有办法告诉 shell 使用 /usr/bin/ 版本的 python ?

  • 有没有办法为任何 envpy 版本安装 python-tk? 类似 sudo apt-get install python-tk in-desired-folders 或 相似?

我认为,回答这 3 个问题中的任何一个都可以解决我的问题。

谢谢大家的建议!

最佳答案

如果这两个 Python 安装相同(相同的 Python 版本),则没有理由不能将为一个版本安装的 Python 包用于另一个版本。您只需要调整您的 PYTHONPATH:

export PYTHONPATH=/usr/lib/python2.7/site-packages

或其变体,具体取决于标准(系统)Python 安装其包的位置。

您可以通过显式启动 Python 并查看 sys.path 来找到后者。例如,在我的 Ubuntu 系统上:

> /usr/bin/python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/evert/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']

我的 PYTHONPATH 应该设置为

export PYTHONPATH=/usr/lib/python2.7/dist-packages

相反。


或者,也许更简单,只需为您要使用的 Python 创建一个别名(只是不要将别名命名为 python;它会造成很多困惑):

alias py2=/usr/bin/python

并改用它。

无论哪种情况,都无需删除 /usr/local/ 中的任何内容(甚至无需将 /usr/bin/ 放在 PATH 的前面);您只需将/usr/local 目录/Python 移开即可。

关于python - 在 Ubuntu 中删除 1 个版本的 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128840/

相关文章:

python-2.7 - Tornado websocket ping/pong 的实现

由于 "GraphicsPipeline.createPipeline failed for com.sun.prism.es2.ES2Pipeline",JavaFX 程序未启动

python - 这个条件删除的更好的 pythonic 版本是什么?

python - django-debug-toolbar 在获取 sql 统计信息时在管理员上中断

python - 传递给 Python 中所有实例方法的预处理参数

python-2.7 - 我想将我的程序连接到图像扫描仪

Python OAuth WooCommerce

python-2.7 - Matplotlib:更改所有子图的线宽

python - 在Linux服务器上安装cv2

ruby-on-rails - 自动文件上传到网站