仅附带 Python 3.X 的发行版

仅附带 Python 3.X 的发行版

目前可以吗?我尝试在 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)

也可以看看:

虚拟环境和虚拟环境包装器

这 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 一起运行。我记得是因为当我安装系统更新并且我的所有脚本都停止工作时它就更新了。

相关内容