Come creare virtuale env con python3

Sto usando python 2.7 + virtualenv versione 1.10.1 per l’esecuzione di progetto progetti. A causa di alcuni altri progetti requisito devo lavorare con altre versioni di python(Python 3.5) e Django 1.9. Per questo ho installato python nella mia directory utente. Anche io ho scaricato e installato virtualenv( versione – 15.1.0) nella mia directory utente.
Ma ogni volta che sto cercando di creare la virtual env ricevo il seguente errore

python virtualenv/virtualenv.py myproject

Using base prefix '/home/myuser/python3'
New python executable in /home/mount/myuser/project_python3/myproject/bin/python
ERROR: The executable /home/mount/myuser/project_python3/myproject/bin/python is not functioning
ERROR: It thinks sys.prefix is '/home/myuser/python3' (should be '/home/mount/myuser/project_python3/myproject')
ERROR: virtualenv is not compatible with this system or executable

Nessuno può dire che cosa sto facendo di sbagliato con questo

  • Non è chiaro che Python si utilizza quando si esegue python virtualenv/virtualenv.py myproject. È python qui il tuo sistema di Python (2.7) o Python (3.5)?
  • Hai usato il corretto pip, cioè pip3, per installare virtualenv versione – 15.1.0?
  • Ho sempre trovato questi documenti utile.
  • Sto usando python3.5
  • Ho usato il comando python -m pip <virtualenv pacchetto>
  • In generale, python significa Python 2, è necessario utilizzare python3 di riferimento di Python 3. Ad esempio, python3 -m pip install some_package. Ma come altri hanno detto, è meglio utilizzare il venv modulo che è incluso nelle ultime versioni di Python 3.
  • Ho aggiornato il mio bashrc_profile con percorso . Che e’ il motivo che mi riferisco python :). BTW ho installato il python 3.5.3 manualmente
  • Hmmm. Che potrebbe non essere saggio se si dispone di roba che si aspetta python di riferimento di Python 2, ad esempio, Python 2 script che non sono Python 3 compatibile e che hanno un #!/usr/bin/env python shebang linea. Un modo più sicuro è quello di rendere python un alias per python3.
  • Grazie per il suggerimento. Ho creato un alias per python3 nel mio bashrc_profile
  • Vedi anche stackoverflow.com/questions/41573587/… Attualmente il numero di “raccomandato” metodi di creazione virtuale env in python continua ad aumentare; vedi anche: (1) “Pipenv è ufficialmente raccomandato Python packaging tool) da Python.org” e (2) docs.python-guide.org/en/latest/dev/virtualenvs (3) xkcd: Standard

InformationsquelleAutor Anish | 2017-03-28



5 Replies
  1. 55

    In Python 3.6+, il pyvenv modulo è deprecato. Utilizzare il seguente one-liner invece:

    python3 -m venv <myenvname>

    Questo è il consigliato creare ambienti virtuali da Python comunità.

  2. 6

    Python viene già fornito con la sua builtin “virtualenv” chiamato venv a partire dalla versione 3.3. Non è più necessario installare o scaricare il virtualenv script in Python 3.3+.

    https://docs.python.org/3/library/venv.html

    Controllare che l’installazione fornito il pyvenv comando che dovrebbe prendersi cura di creare il “virtualenv”. Gli argomenti sono simili al classico virtualenv progetto.

    $ pyvenv --help
    usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
                [--upgrade] [--without-pip]
                ENV_DIR [ENV_DIR ...]
    
    Creates virtual Python environments in one or more target directories.
    
    positional arguments:
      ENV_DIR               A directory to create the environment in.
    
    optional arguments:
      -h, --help            show this help message and exit
      --system-site-packages
                            Give the virtual environment access to the system
                            site-packages dir.
      --symlinks            Try to use symlinks rather than copies, when symlinks
                            are not the default for the platform.
      --copies              Try to use copies rather than symlinks, even when
                            symlinks are the default for the platform.
      --clear               Delete the contents of the environment directory if it
                            already exists, before environment creation.
      --upgrade             Upgrade the environment directory to use this version
                            of Python, assuming Python has been upgraded in-place.
      --without-pip         Skips installing or upgrading pip in the virtual
                            environment (pip is bootstrapped by default)
    
    Once an environment has been created, you may wish to activate it, e.g. by
    sourcing an activate script in its bin directory.
    • Questo script è deprecato in Python 3.6+, anche se il modulo esiste ancora. L’uso consigliato è: python3 -m venv <myenvname>
    • Sto usando python 3.5 . Ma se eseguo il comando pyenv sua dicendo: comando non trovato
    • pyenv non è disponibile in 3.5.3
    • lo script non è pyenv, ma pyvenv.
    • Oh, mi dispiace . fammi provare
    • grazie . ha funzionato 🙂
    • Grande, @Anish! Si prega di ricordarsi di accettare risposte che risolvono il tuo problema.

  3. 0

    Per creare virtual env

    virtualenv -p python3 venv_name 

    Questo creerà nuovi python eseguibile in baseDirectory/bin/python3

    Come attivare newely creato Venv:

    cd baseDirectory/bin/  
    
    source activate  

    Disattivare nuovo venv

    deactivate 
  4. 0

    Installare virtualenvwrapper in cima virtualenv per semplificare le cose.
    Segui il blog per installare in easy steps: virtualenvwrapper

    Procedura per crearlo:

    1. mkvirtualenv -p /usr/bin/python3
    2. Installare pacchetti utilizzando – pip install nome_pacchetto
    3. workon – attiva il virtualenv, deactivate – disattiva la viirtualenv
    • Come sarà l’aggiunta di un wrapper di virtualenv aiutare se virtualenv stesso non funziona?
    • Questo è un ripetuto risposta. Questa è anche una risposta errata. virtualenv è deprecato, questo è un wrapper di virtualenv

Lascia un commento