目前可以吗?我尝试在 Fedora 19 中删除 python,但 yum 依赖于它。
答案1
您永远不应该尝试在给定系统上卸载 Python 和 Perl 等软件包。该发行版的大部分内部管道都依赖于这些特定的包。
如果您需要特定版本的 Python、Perl、Ruby 等,您应该真正养成使用如下系统来设置这些解释器的本地版本的习惯:
pyenv
这个项目曾经被称为蟒蛇酿造,但现在被称为pyenv
。要安装它,您需要将其副本克隆到您的$HOME
目录中,如下所示:
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into .pyenv...
remote: Counting objects: 2207, done.
remote: Compressing objects: 100% (617/617), done.
remote: Total 2207 (delta 1489), reused 2172 (delta 1462)
Receiving objects: 100% (2207/2207), 358.75 KiB, done.
Resolving deltas: 100% (1489/1489), done.
现在将设置添加pyenv
到您的~/.bashrc
文件中:
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
现在重新分配您的资源.bashrc
:
$ source ~/.bashrc
您可以看到以下的用法pyenv
:
$ pyenv
pyenv 0.4.0-20130613-17-ge1ea64b
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using the python-build plugin
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme
您可以查看可用的版本:
$ pyenv versions
* system (set by /home/saml/.pyenv/version)
安装构建要求
现在让我们安装Python 3.2.5:
$ pyenv install 3.2.5
Downloading Python-3.2.5.tgz...
-> http://yyuu.github.io/pythons/ed8d5529d2aebc36b53f4e0a0c9e6728
Installing Python-3.2.5...
Installed Python-3.2.5 to /home/saml/.pyenv/versions/3.2.5
Downloading setuptools-0.9.5.tar.gz...
-> https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.5.tar.gz
Installing setuptools-0.9.5...
Installed setuptools-0.9.5 to /home/saml/.pyenv/versions/3.2.5
Downloading pip-1.3.1.tar.gz...
-> http://yyuu.github.io/pythons/cbb27a191cebc58997c4da8513863153
Installing pip-1.3.1...
Installed pip-1.3.1 to /home/saml/.pyenv/versions/3.2.5
重建我们的环境以合并新安装:
$ pyenv rehash
现在我们应该看到有 2 个版本可用,系统仍然是默认的 ( *
):
$ pyenv versions
* system (set by /home/saml/.pyenv/version)
3.2.5
让我们切换到3.2.5:
$ pyenv which python
/usr/bin/python
$ pyenv global 3.2.5
$ pyenv which python
/home/saml/.pyenv/versions/3.2.5/bin/python
$ pyenv versions
system
* 3.2.5 (set by /home/saml/.pyenv/version)
也可以看看:
- pyenv 安装程序- 这个工具安装 pyenv 和朋友
虚拟环境和虚拟环境包装器
这 2 个 Python 模块为您提供了维护单独工作区的机制,可以在其中维护站点包。如果您想要将 Python 模块集隔离成集合并将它们关联到给定的 Python 应用程序,那么它们是一个不错的选择。它们使用起来有点尴尬,但可以完成工作。
有一个展示如何使用 virtualenvwrapper 的截屏视频以及。对于 Python,我首先设置virtualenv
,然后是virtualenvwrapper
.
例子
$ sudo easy_install virtualenv
$ easy_install virtualenvwrapper
至此,2个Python模块已经安装完毕。从这里您需要设置环境,将以下内容添加到您的$HOME/.bashrc
文件中:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh
现在重新分配您的资源.bashrc
:
$ source ~/.bashrc
现在您已准备好列出您的工作环境:
$ workon
$
您还没有,所以让我们创建一个,我们将其称为“temp”:
$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.
现在,当我们使用以下命令重新列出我们的工作集时workon
:
(temp)$ workon
temp
请注意,提示已更改,因此工作区在提示前面添加了前缀。现在,删除它:
(temp)$ rmvirtualenv temp
Removing temp...
ERROR: You cannot remove the active environment ('temp').
Either switch to another environment, or run 'deactivate'.
无法如此停用它,您的提示将恢复正常:
(temp)$ deactivate
$
现在尝试删除它:
$ rmvirtualenv temp
Removing temp...
现在让我们再次重新创建它,并 cd 到我们的工作区:
$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.
(temp)$ cdvirtualenv
(temp)$ ls
bin include lib lib64
现在检查“temp”工作区站点包:
$ cdsitepackages
(temp)$ pwd
/home/saml/.virtualenvs/temp/lib/python2.7/site-packages
现在让我们安装一个Python模块,smooshy
首先让我们使用以下命令搜索它pip
:
(temp)$ pip search smooshy
smooshy - Automatic lossless image compression
现在安装它:
(temp)$ pip install smooshy
Downloading/unpacking smooshy
Downloading smooshy-1.tar.gz
Running setup.py egg_info for package smooshy
Requirement already satisfied (use --upgrade to upgrade): simplejson in /usr/lib64/python2.7/site-packages (from smooshy)
Installing collected packages: smooshy
Running setup.py install for smooshy
changing mode of build/scripts-2.7/smooshy from 664 to 775
changing mode of /home/saml/.virtualenvs/temp/bin/smooshy to 775
Successfully installed smooshy
Cleaning up...
要确认它的安装位置:
(temp)$ which smooshy
~/.virtualenvs/temp/bin/smooshy
答案2
Python 2 和 3 不兼容,因此您需要使用 Python 2 来编写用它编写的程序。大多数程序仍然使用 Python 2。而且 Python 2 仍在维护中。
所以你几乎不可能有一个没有 Python 2 的发行版。除了像 Arch 和 Gentoo 这样的发行版。你还必须避免使用 Python 2 的程序,因为它们不能用 Python 3 解释器解释。不过,您可以安装多个版本的 Python。我有 Python 2.5、2.7 和 3,没有任何问题。
答案3
我上次检查时,Arch Linux 才可以与 Python 3 一起运行。我记得是因为当我安装系统更新并且我的所有脚本都停止工作时它就更新了。