Installa e importa i pacchetti del sito per Python 2 e 3 su Mac

6

Ho installato brew e poi

brew install python
brew install python3

Installa flask con pip

pip install flask

Prova

python -c 'import flask'

Ma ho ottenuto un'eccezione

ImportError: No module named flask

Imposta ed esporta PYTHONPATH

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

Fin qui tutto bene. Ma quando ho provato a installare un pacchetto con pip3 per Python 3, ho ricevuto il messaggio di errore

Your PYTHONPATH points to a site-packages dir for Python 2.x but you are running Python 3.x!
     PYTHONPATH is currently: ":/usr/local/lib/python2.7/site-packages"
     You should 'unset PYTHONPATH' to fix this.

Come utilizzare i pacchetti del sito senza il trucco PYTHONPATH per rendere utilizzabili sia pip che pip3 e sia Python 2 che Python 3 sono in grado di importare i pacchetti del sito?

    
posta Frozen Flame 10.12.2014 - 11:42
fonte

2 risposte

5

Devi prendere in considerazione l'installazione di pyenv per questo.

pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

Per installare, digita semplicemente:

$ brew install pyenv

Aggiungi questo al tuo .bash_profile :

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

Una volta installato, usa pyenv per installare le versioni python di cui hai bisogno:

$ pyenv install -l/--list --> List all available versions
$ pyenv install 2.7.6
$ pyenv install 3.3.3

Esegui questo comando dopo aver installato una versione python:

$ pyenv rehash

Puoi specificare più versioni tramite PYENV_VERSION alla volta. Diciamo se hai due versioni di 2.7.6 e 3.3.3. Se preferisci 2.7.6 su 3.3.3,

$ pyenv shell 2.7.6 3.3.3
$ pyenv versions
  system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
    
risposta data 10.12.2014 - 16:17
fonte
4

Per usare entrambi Python 2 e Python 3 su OS X, si dovrebbe evitare di usare il python preinstallato da Mac.

  1. Installa python con homebrew :

    brew install python
    brew install python3
    
  2. Modifica /etc/paths :

    /usr/local/bin
    /usr/bin
    /bin
    /usr/local/sbin
    /usr/sbin
    /sbin
    

Assicurati che /usr/local/bin venga prima di /usr/bin . Il primo è usato da homebrew e l'ultimo è dove il Mac preinstallato python vive. Mostra il PATH per un doppio controllo:

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/X11/bin

Ora posso installare pacchetti con pip2 e pip3 per 2 versioni di Python separatamente.

    
risposta data 20.09.2015 - 08:46
fonte

Leggi altre domande sui tag