Remove 1 version of Python in Ubuntu
所以显然我在不同的文件夹中安装了2个Pythons(相同版本)...一个在
我尝试过使用
-
有没有一种安全的方法可以删除/卸载其中一个版本
没有破坏我的整个Ubuntu? -
有没有办法告诉shell使用
/usr/bin/ 版本的
Python? -
有没有办法为任何
envpy 版本安装python-tk ?
像sudo apt-get install python-tk in-desired-folders 或
类似?
我认为,回答这3个问题中的任何一个都可以解决我的问题。
谢谢大家的建议!
如果这两个Python安装相同(相同的Python版本),则没有理由不能将一个版本的Python软件包与另一个版本一起使用。 你只需要调整你的
1 | export PYTHONPATH=/usr/lib/python2.7/site-packages |
或其变体,取决于Python安装其软件包的标准(系统)的确切位置。
您可以通过显式启动Python并查看
1 2 3 4 5 6 7 | > /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'] |
我的
1 | export PYTHONPATH=/usr/lib/python2.7/dist-packages |
代替。
或者,甚至可能更容易,只需为要使用的Python创建一个别名(只是不要命名别名
1 | alias py2=/usr/bin/python |
并使用它。
在任何一种情况下,都不需要删除
如果不了解你最终如何到达目的地,就无法保证"安全"。
如果您使用
不应触及或删除
从根本上说,Apt和
我建议使用
通常,您将为您正在处理的每个Python项目设置(至少)一个虚拟环境,并仅使用该特定项目所需的库填充它。因此,例如,要设置virtualenv以使用系统Python并使用您指定的库,您可以执行类似的操作
1 2 3 4 5 6 7 | vnix$ virtualenv -p /usr/bin/python myproject vnix$ ./myproject/bin/activate (myproject) vnix$ pip install numpy matplotlib # Tkinter is part of standard Python install (myproject) vnix$ emacs myproject.py & # hack away |
虚拟环境包含您的裸Python安装的副本(虽然这几乎不是"裸",包含所有电池)和virtualenv处于活动状态时
因此,如果您愿意,可以使用本地安装的Python创建第二个虚拟环境,并在环境激活时通过运行
1 2 3 4 5 6 7 8 9 | (myproject) vnix$ deactivate vnix$ cd .. vnix$ virtualenv myproject-local vnix$ . ./myproject-local/bin/activate (myproject-local) vnix$ pip install numpy matplotlib Tkinter |
(不确定如果没有Tkinter在你的Python安装中如何结束,所以也不确定如何在那里安装它。
另外,您可能希望您的项目处于版本控制之下;虚拟环境不需要在那里结束,事实上,如果您愿意,virtualenv可以完全在源树之外完成。作为一个极端的例子,您可以在
您可以删除整个/ usr / local目录,系统不会受到影响,因为/ usr / local是用户单独定义的目录。当你刚刚安装Ubuntu / usr / local时为空