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
¿Que esta pasando aqui? es python-virtualenv == pyvenv? ¿Todavía no está roto? ¿El virtualenv original todavía funciona con python? si venv (demasiadas variaciones de nombre !!!) es parte de la biblioteca estándar, https://docs.python.org/3/library/venv.html , ¿por qué me dicen que lo instale?
Y cuando intenté instalarlo, obtuve:
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 ese momento aborté, porque instalar Python3-pip justo antes de eso me había 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 se supone que python 3 es el valor predeterminado en el futuro. Dado que tanto 2.7 como 3.4 están allí y tienen comandos separados, ¿cómo no solo me aseguro de que Python 3 sea mi predeterminado, sino que todo lo que instalo vaya allí y lo use en lugar de 2.7?
Por cierto, probé sudo apt-get python3-virtualenv y obtuve: E: No se puede encontrar el paquete python3-virtualenv
fuente
Respuestas:
La forma de instalar paquetes Python 3.x en un entorno virtual de Python es crear el entorno virtual de Python utilizando el creador del entorno virtual de Python 3 ( python3-virtualenv ). python3-virtualenv está en los repositorios predeterminados de Ubuntu en Ubuntu 14.10 y posteriores.
Instalar paquetes Python 3.x en un entorno virtual Python en 16.04 y posterior
Instalar el creador del entorno virtual Python 3
Cree un entorno virtual de Python para python3. Solo puede instalar paquetes python3 dentro de este entorno virtual de Python. Si también desea instalar los paquetes de Python 2.x, debe crear otro entorno virtual de Python.
El nuevo entorno virtual de Python para python3 se creará en el
env
directorio que se encuentra en el directorio actual.Instalar paquetes de Python.
Este es un nuevo entorno virtual de python3 con la última versión de pip3, por lo que instalar paquetes de Python funcionará de maravilla.
Instalar paquetes Python 3.x en un entorno virtual Python en Ubuntu 14.04
Agregue la siguiente línea al final de .bashrc.
Guarde los cambios en .bashrc y cierre gedit. Obtenga su .bashrc para que los cambios surtan efecto.
Cree un entorno virtual de Python para python3. Solo puede instalar paquetes python3 dentro de este entorno virtual de Python. Si también desea instalar los paquetes de Python 2.x, debe crear otro entorno virtual de Python.
El nuevo entorno virtual de Python para python3 se creará en el
~/.virtualenvs/py3
directorio..virtualenvs
Es una carpeta oculta.Instalar un paquete.
fuente
python3-virtualenv
ypython3-venv
paquetes disponibles. Supongo quepython3-venv
es el paquete correcto, en cuyo caso no tengo idea de qué propósitopython3-virtualenv
sirve.virtualenv
(ejecutable) para crear un entorno con un intérprete arbitrario, incluido PyPy, muy bien, por ejemplovirtualenv -p python3 newenv
.Bueno, se pone complicado. Lo siguiente se muestra en Ubuntu Xenial (que es una versión subyacente para Linux Mint que uso). Vamos a resolverlo:
pyvenv
Se refiere a la secuencia de comandos de envoltura del paquete Python 3.3+ stdlib . Pero quedó en desuso desde Python 3.6.
También es un paquete PyPi , que es un conmutador de entorno virtual.
venv
Es el paquete Python 3.3+ stdlib cuyo propósito era mejorar y reemplazar el paquete PyPi virtualenv (ver PEP 405 ). Pero parece que todavía no está allí (al menos no tan completo).
python-virtualenv y virtualenv
Como puede ver, se ejecuta en Python 3. El
python-virtualenv
paquete está destinado a ser utilizado comopython2 -m virtualenv py2
. Veamos cómovirtualenv
funciona en Ubuntu Xenial nuevo (docker run --rm -it ubuntu:xenial
):Como puede ver a pesar de que el
virtualenv
paquete está utilizandopython3-virtualenv
, su valor predeterminado es crear el entorno Python 2.fuente