pyvenv vs venv vs python-virtualenv vs virtualenv y python 3 -- apt campo con python campo con pip campo con virtualenv camp askubuntu Relacionados El problema

pyvenv vs venv vs python-virtualenv vs virtualenv and python 3


14
vote

problema

Español
  malikarumi@Tetouan2:~$ pip install virtualenv     Collecting virtualenv     Downloading virtualenv-12.0.7-py2.py3-none-any.whl (1.8MB)     100% |################################| 1.8MB 330kB/s   malikarumi@Tetouan2:~$ pip freeze     (a lot of stuff, but not virtualenv)  malikarumi@Tetouan2:~$ virtualenv testvenv1     The program 'virtualenv' is currently not installed. You can install it by typing:     sudo apt-get install python-virtualenv   

¿Qué está pasando aquí? es Python-VirtualEnv == pyvenv? ¿No es eso todavía roto? ¿El original VirtualEnv todavía funciona con Python? Si VENV (muchas variaciones de nombres) es parte de la biblioteca estándar, https: //docs.python. org / 3 / biblioteca / venv.html , ¿por qué me he dicho que lo instale?

y cuando intenté instalarlo, tengo:

  malikarumi@Tetouan2:~$ sudo apt-get install python-virtualenv     Reading package lists... Done     Building dependency tree            Reading state information... Done     The following extra packages will be installed:     python-colorama python-distlib python-html5lib python-pip python-setuptools   

En qué punto aborté, porque instalar Python3-Pip justo antes de que me haya dado

  Setting up python3-setuptools (3.3-1ubuntu1) ... Setting up python3-pip (1.5.4-1) ...   

Y no estaba seguro de si los paquetes adicionales los sobrescribirían o irían a Python 2.7.

Leí que Python 3 se supone que es el valor predeterminado. Dado que ambos 2.7 y 3.4 están ahí, y tienen comandos separados, ¿cómo no solo me aseguro de que Python 3 sea mi predeterminado, pero que cualquier cosa que instale va allí y es utilizada por ella en lugar de 2.7?

Por cierto, probé sudo apt-get python3-virtualenv y tengo: E: No se puede localizar el paquete Python3-VirtualEnv

Original en ingles
malikarumi@Tetouan2:~$ pip install virtualenv     Collecting virtualenv     Downloading virtualenv-12.0.7-py2.py3-none-any.whl (1.8MB)     100% |################################| 1.8MB 330kB/s   malikarumi@Tetouan2:~$ pip freeze     (a lot of stuff, but not virtualenv)  malikarumi@Tetouan2:~$ virtualenv testvenv1     The program 'virtualenv' is currently not installed. You can install it by typing:     sudo apt-get install python-virtualenv 

What is going on here? is python-virtualenv == pyvenv? Isn't that still broken? Does original virtualenv still work with python? if venv (too many name variations!!!) is part of the standard library, https://docs.python.org/3/library/venv.html, why am I being told to install it?

And when I did try to install it, I got:

malikarumi@Tetouan2:~$ sudo apt-get install python-virtualenv     Reading package lists... Done     Building dependency tree            Reading state information... Done     The following extra packages will be installed:     python-colorama python-distlib python-html5lib python-pip python-setuptools 

At which point I aborted, because installing python3-pip just before that had given me

Setting up python3-setuptools (3.3-1ubuntu1) ... Setting up python3-pip (1.5.4-1) ... 

And I wasn't sure if the extra packages would overwrite them or go onto python 2.7.

I read that python 3 is supposed to be the default going forward. Since both 2.7 and 3.4 are there, and have separate commands, how do I not only make sure Python 3 is my default, but that anything I install goes there and is used by it instead of 2.7?

BTW, I tried sudo apt-get python3-virtualenv and got: E: Unable to locate package python3-virtualenv

           
   
   

Lista de respuestas

4
 
vote

La forma de instalar PyThon 3.x Paquetes en un entorno virtual de Python es crear el entorno virtual de Python utilizando el creador de entorno virtual de Python 3 ( Python3-VirtualEnv ). Python3-VirtualEnv está en los repositorios predeterminados de Ubuntu en Ubuntu 14.10 y posteriores.

Instale los paquetes de Python 3.x en un entorno virtual de Python en 16.04 y luego

  1. Instalar creador de entorno virtual de Python 3

      sudo apt install virtualenv python3-virtualenv   
  2. Crear un entorno virtual de Python para Python3. Solo puede instalar paquetes Python3 dentro de este entorno virtual de Python. Si también desea instalar paquetes de Python 2.x, entonces necesita hacer otro entorno virtual de Python.

      virtualenv -p python3 env   source ./env/bin/activate   

    El nuevo entorno virtual de Python para Python3 se creará en el directorio ABCDEFGHIJKLMNABCDEFGHIJKLMN4 que se encuentra en el directorio actual.

  3. Instalar paquetes de Python.

     cd / ruta / to / env / # env es el directorio del entorno virtual de Python3 Papelera de origen / activar PYTHON3 -M PIP Instale  Nombre de primer paquete Nombre siguiente: Nombre del último paquete  

Este es un nuevo entorno virtual de Python3 con la última versión de PIP3, por lo que la instalación de los paquetes de Python en ella funcionará muy bien.


Instale Python 3.x Paquetes en un entorno virtual de Python en Ubuntu 14.04

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   

Agregue la siguiente línea al final de .bashrc.

  source /usr/share/virtualenvwrapper/virtualenvwrapper.sh   

Guarda los cambios en .bashrc y cierre GEDIT. Fuente a su .bashrc para que los cambios surten efecto.

  cd  source .bashrc   

Crear un entorno virtual de Python para Python3. Solo puede instalar paquetes Python3 dentro de este entorno virtual de Python. Si también desea instalar paquetes de Python 2.x, entonces necesita hacer otro entorno virtual de Python.

  ABCDEFGHIJKLMNABCDEFGHIJKLMN8   

El nuevo entorno virtual de Python para Python3 se creará en el directorio ABCDEFGHIJKLMNABCDEFGHIJKLMN9 . ABCDEFGHIJKLMNABCDEFGHIJKLMN10 es una carpeta oculta.

Instalar un paquete.

 cd ~ / .virtualenvs / py3 Papelera de origen / activar PYTHON2 -M PIP Instale  Nombre del paquete  
 

The way to install Python 3.x packages in a Python virtual environment is to create the Python virtual environment using Python 3 virtual environment creator (python3-virtualenv). python3-virtualenv is in the default Ubuntu repositories in Ubuntu 14.10 and later.

Install Python 3.x packages in a Python virtual environment in 16.04 and later

  1. Install Python 3 virtual environment creator

    sudo apt install virtualenv python3-virtualenv 
  2. Create a Python virtual environment for python3. You can only install python3 packages inside this Python virtual environment. If you also want to install Python 2.x packages, then you need to make another Python virtual environment.

    virtualenv -p python3 env   source ./env/bin/activate 

    The new Python virtual environment for python3 will be created in the env directory which is located in the current directory.

  3. Install Python packages.

    cd /path/to/env/ # env is the python3 virtual environment's directory source bin/activate python3 -m pip install first-package-name next-package-name last-package-name

This is a new python3 virtual environment with the latest version of pip3, so installing Python packages in it will work great.


Install Python 3.x packages in a Python virtual environment in Ubuntu 14.04

sudo apt-get install virtualenvwrapper   gedit .bashrc 

Add the following line to the end of .bashrc.

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh 

Save the changes to .bashrc and close gedit. Source your .bashrc for the changes to take effect.

cd  source .bashrc 

Create a Python virtual environment for python3. You can only install python3 packages inside this Python virtual environment. If you also want to install Python 2.x packages, then you need to make another Python virtual environment.

mkvirtualenv py3 -p /usr/bin/python3 

The new Python virtual environment for python3 will be created in the ~/.virtualenvs/py3 directory. .virtualenvs is a hidden folder.

Install a package.

cd ~/.virtualenvs/py3 source bin/activate python2 -m pip install package-name
 
 
   
   
0
 
vote

Bueno, se complica. Se muestra lo siguiente contra Ubuntu Xenial (que es la versión subyacente para la menta de Linux que uso). Vamos a solucionarlo:

pyvenv

Se refiere al Python 3.3+ Paquete STDLIB 's Script Wrapper . Pero estaba desaprobado desde Python 3.6.

También es una PAQUETE PYPI , que es un conmutador de entorno virtual.

VENV

Es el Python 3.3+ paquete stdlib cuyo propósito era mejorar y Reemplace el PYPI paquete virtualenv (consulte PEP 405 ). Pero parece que aún no está allí (al menos no como resultado completo).

Python-VirtualEnv y VirtualEnv

  $ apt-cache show virtualenv | grep Depends Depends: python3, python3-virtualenv   

Como puede verlo se ejecuta en Python 3. ABCDEFGHIJKLMNABCDEFGHIJKLMN1 EL PAQUETE DESAYO PARA SER UTILIZADO COMO ABCDEFGHIJKLMNABCDEFGHIJKLMN2 . Veamos cómo virtualenv funciona en Ubuntu Xenial Fresh Ubuntu ( ABCDEFGHIJKLMNABCDEFGHIJKLMN4 ):

  ABCDEFGHIJKLMNABCDEFGHIJKLMN5   

Como puede ver aunque virtualenv/

 

Well, it gets complicated. The following is shown against Ubuntu Xenial (which is underlying release for Linux Mint I use). Let's sort it out:

pyvenv

It refers to the Python 3.3+ stdlib package's wrapper script. But it was deprecated since Python 3.6.

It is also a PyPi package, which is a virtual environment switcher.

venv

It's the Python 3.3+ stdlib package whose purpose was to improve and replace the PyPi virtualenv package (see PEP 405). But it seems it's not there yet (at least not as feature-complete).

python-virtualenv and virtualenv

$ apt-cache show virtualenv | grep Depends Depends: python3, python3-virtualenv 

As you can see it runs on Python 3. python-virtualenv package is meant to be used like python2 -m virtualenv py2. Let's see how virtualenv works on fresh Ubuntu Xenial (docker run --rm -it ubuntu:xenial):

$ virtualenv bash: virtualenv: command not found $ apt-get update ... $ apt-get install --yes --no-install-recommends virtualenv Reading package lists... Done Building dependency tree        Reading state information... Done The following additional packages will be installed:   ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib   libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0   mime-support openssl python-pip-whl python3 python3-minimal   python3-pkg-resources python3-virtualenv python3.5 python3.5-minimal Suggested packages:   libdpkg-perl python3-doc python3-tk python3-venv python3-setuptools   python3.5-venv python3.5-doc binutils binfmt-support Recommended packages:   file The following NEW packages will be installed:   ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib   libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0   mime-support openssl python-pip-whl python3 python3-minimal   python3-pkg-resources python3-virtualenv python3.5 python3.5-minimal   virtualenv ... $ virtualenv test The executable python2 (from --python=python2) does not exist $ virtualenv -p python3 py3  Already using interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /py3/bin/python3 Also creating executable in /py3/bin/python Installing setuptools, pkg_resources, pip, wheel...done. $ . py3/bin/activate (py3) $ python --version Python 3.5.2 (py3) $ deactivate $ apt-get install --yes --no-install-recommends python     Reading package lists... Done Building dependency tree        Reading state information... Done The following additional packages will be installed:   libffi6 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib   python-minimal python2.7 python2.7-minimal Suggested packages:   python-doc python-tk python2.7-doc binutils binfmt-support The following NEW packages will be installed:   libffi6 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python   python-minimal python2.7 python2.7-minimal ... $ virtualenv py2  Running virtualenv with interpreter /usr/bin/python2 New python executable in /py2/bin/python2 Also creating executable in /py2/bin/python Installing setuptools, pkg_resources, pip, wheel...done. $ . py2/bin/activate (py2) $ python --version Python 2.7.12 

As you can see even though virtualenv package is using python3-virtualenv, its default is to create Python 2 environment.

 
 
 
 

Relacionados problema

7  Permiso de VirtualEnv denegado  ( Virtualenv permission denied ) 
Después de una gran cantidad de lucha con VirtualEnv / VirtualEnvWrapper, decidí eliminar todos los VirtualEnvs y volver a instalar los paquetes. root> su ...

2  ¿Cómo creo un entorno virtual de Python en la aplicación Ubuntu en Windows usando 'VENV' en lugar de 'VirtualEnv'?  ( How do i create a python virtual environment in the ubuntu on windows app using ) 
Estoy usando la aplicación Ubuntu en Windows que se ejecuta en el subsistema de Windows para Linux. Por lo tanto, una pregunta inicial es si se admite los ent...

1  14.04 ¿Cuál es la diferencia entre / usr / bin / python3 /usr/bin/python3.4  ( 14 04 what is the difference between usr bin python3 usr bin python3 4 ) 
en / usr / bin Hay un Python3 y Python3.4. ¿Cuál es la diferencia? Si estoy configurando VirtualEnv por 3.4 ¿Necesito señalarlo en el archivo 3.4 o el acto de...

47  Error al instalar Scrapy en VirtualEnv usando PIP  ( Error installing scrapy in virtualenv using pip ) 
pip install scrapy Downloading/unpacking scrapy Downloading Scrapy-0.24.2-py2-none-any.whl (502kB): 502kB downloaded Downloading/unpacking pyOpenSSL (from ...

1  ¿Cómo corregir Python + VirtualEnv en la última actualización de Ubuntu 14.04?  ( How to fix python virtualenv on latest ubuntu 14 04 update ) 
Dado que el último apt-get upgrade en una máquina de 14.04, todos los scripts de Python fallan miserablemente. El siguiente revestimiento se desencadena e...

0  ¿Cómo obtiene un privilegio de 'sudo' para un programa en un entorno virtual de Conda?  ( How do you get sudo privilege for a program in a conda virtual environment ) 
Como con el título, ¿cómo puedo ejecutar un programa instalado dentro de un entorno de Conda con los privilegios de sudo? este hilo ( ​​sudo: Conda: comando...

3  ¿Hay un equivalente a Virtual Env, pero para toda Ubuntu?  ( Is there an equivalent of virtual env but for the whole of ubuntu ) 
Python tiene una herramienta maravillosa llamada un entorno virtual, que le permite enfatamente sellar herméticamente varias bibliotecas de Python (que pueden...

0  El comando de origen no funciona en Bash en Ubuntu 17.10  ( Source command not working in bash on ubuntu 17 10 ) 
Estoy usando Ubuntu 17.04 y el siguiente código no funciona, aunque funcionó para mí en el pasado. #!/bin/bash APP=personalBlog USER=root cd /opt/src/pe...

1  Ejecutar automáticamente un comando al ingresar un determinado directorio?  ( Automatically run a command upon entering a certain directory ) 
Estoy usando virtualenv con django , por lo que he dicho que dos directorios diferentes dicen: ~/Development/site1 ~/Development/site2 Entonces para...

11  Crea una copia de VirtualEnv localmente sin instalación PIP  ( Create a copy of virtualenv locally without pip install ) 
En algún momento, es necesario crear una copia de salir virtualenv para probar las características adicionales de nuestro proyecto. En tal caso, necesitam...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos