Distribuições que só disponibilizam o Python 3.X

2

É possível atualmente? Eu tentei remover python no Fedora 19, mas yum depende disso.

    
por yanglifu90 19.07.2013 / 07:08

3 respostas

2

O Python 2 e 3 não são compatíveis, então você precisa do Python 2 para programas escritos nele. E a maioria dos programas ainda está no Python 2. Também o Python 2 ainda está sendo mantido.

Então você quase não pode ter uma distribuição sem o Python 2. Exceto os que são o Arch e o Gentoo .. Você também terá que evitar programas que usam o Python 2, já que eles não podem ser interpretados com o interpretador do Python 3. Você pode ter várias versões do Python instaladas. Eu tenho o Python 2.5, 2.7 e 3 sem problemas.

    
por 19.07.2013 / 09:48
3

Você nunca deve tentar desinstalar pacotes como Python e Perl em um determinado sistema. Muito do encanamento interno da distro depende desses pacotes específicos.

Se você precisa de versões específicas de Python, Perl, Ruby etc., você deve ter o hábito de usar sistemas como os seguintes para configurar suas próprias versões locais desses intérpretes:

pyenv

Este projeto costumava ser conhecido como pythonbrew , mas agora é conhecido como pyenv . Para instalá-lo, você precisa clonar uma cópia dele no diretório $HOME da seguinte forma:

$ 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.

Agora adicione a configuração de pyenv ao seu arquivo ~/.bashrc :

$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc

Agora, reenvie seu .bashrc :

$ source ~/.bashrc

Você pode ver o uso de 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

Você pode ver quais versões estão disponíveis:

$ pyenv versions
* system (set by /home/saml/.pyenv/version)

Instale os requisitos de criação

Agora vamos instalar o 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

Reconstrua nosso ambiente para incorporar a nova instalação:

$ pyenv rehash

Agora devemos ver duas versões disponíveis, o sistema ainda é o padrão ( * ):

$ pyenv versions
* system (set by /home/saml/.pyenv/version)
  3.2.5

Vamos para a versão 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)

Veja também :

virtualenv & virtualenvwrapper

Esses dois módulos do Python fornecem mecanismos para manter espaços de trabalho separados onde os pacotes de sites podem ser mantidos. Eles são uma boa opção se você quiser isolar conjuntos de módulos do Python em conjuntos e associá-los a um determinado aplicativo Python. Eles são um pouco desajeitados de usar, mas fazem o trabalho.

Há um screencast que mostra como usar o virtualenvwrapper também. Para o Python, configurei virtualenv primeiro, seguido por virtualenvwrapper .

Exemplo

$ sudo easy_install virtualenv
$ easy_install virtualenvwrapper

Neste ponto, os 2 módulos do Python foram instalados. A partir daqui, você precisa configurar o seu ambiente, adicione o seguinte ao seu arquivo $HOME/.bashrc :

export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

Agora, reenvie seu .bashrc :

$ source ~/.bashrc

Agora você está pronto para listar seus ambientes de trabalho:

$ workon
$

Você ainda não tem, então vamos criar um, vamos chamar de "temp":

$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.

Agora, quando listamos novamente nossos worksets usando workon :

(temp)$ workon
temp

Observe que o prompt foi alterado para que o espaço de trabalho seja prefixado na frente do seu prompt. Agora, para removê-lo:

(temp)$ rmvirtualenv temp
Removing temp...
ERROR: You cannot remove the active environment ('temp').
Either switch to another environment, or run 'deactivate'.

Não é possível desativá-lo e seu prompt está de volta ao normal:

(temp)$ deactivate
$

Agora tente removê-lo:

$ rmvirtualenv temp
Removing temp...

Agora vamos recriá-lo novamente e cd para o nosso espaço de trabalho:

$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.

(temp)$ cdvirtualenv 
(temp)$ ls
bin  include  lib  lib64

Agora confira os pacotes de site do espaço de trabalho "temp":

$ cdsitepackages 
(temp)$ pwd
/home/saml/.virtualenvs/temp/lib/python2.7/site-packages

Agora vamos instalar um módulo Python, smooshy , primeiro vamos procurá-lo usando pip :

(temp)$ pip search smooshy
smooshy                   - Automatic lossless image compression

Agora instale:

(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...

Para confirmar onde foi instalado:

(temp)$ which smooshy
~/.virtualenvs/temp/bin/smooshy
    
por 20.07.2013 / 05:40
1

O Arch Linux pode ser executado com o Python 3 apenas na última vez que eu verifiquei. Lembro-me de ter atualizado quando instalei atualizações do sistema e todos os meus scripts pararam de funcionar.

    
por 20.07.2013 / 06:04

Tags