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
Co tu się dzieje? jest python-virtualenv == pyvenv? Czy to jeszcze nie jest zepsute? Czy oryginalny virtualenv nadal działa z pythonem? jeśli venv (zbyt wiele odmian nazw !!!) jest częścią standardowej biblioteki, https://docs.python.org/3/library/venv.html , dlaczego kazano mi ją zainstalować?
A kiedy próbowałem go zainstalować, otrzymałem:
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
W tym momencie przerwałam, ponieważ dało mi to zainstalowanie python3-pip tuż przed tym
Setting up python3-setuptools (3.3-1ubuntu1) ...
Setting up python3-pip (1.5.4-1) ...
I nie byłem pewien, czy dodatkowe pakiety je zastąpią, czy przejdą na Python 2.7.
Czytałem, że Python 3 powinien być domyślnym programem do przodu. Ponieważ zarówno wersja 2.7, jak i 3.4 mają osobne polecenia, w jaki sposób mogę nie tylko upewnić się, że Python 3 jest moim domyślnym, ale że wszystko, co instaluję, jest dostępne i jest używane przez niego zamiast wersji 2.7?
BTW, próbowałem sudo apt-get python3-virtualenv i dostałem: E: Nie można znaleźć pakietu python3-virtualenv
źródło
Odpowiedzi:
Aby zainstalować pakiety Python 3.x w środowisku wirtualnym Python, należy utworzyć środowisko wirtualne Python za pomocą kreatora środowiska wirtualnego Python 3 ( python3-virtualenv ). python3-virtualenv znajduje się w domyślnych repozytoriach Ubuntu w Ubuntu 14.10 i nowszych.
Zainstaluj pakiety Python 3.x w środowisku wirtualnym Python w wersji 16.04 i nowszej
Zainstaluj kreatora środowiska wirtualnego Python 3
Utwórz wirtualne środowisko Python dla Python3. Pakiety python3 można instalować tylko w tym środowisku wirtualnym Python. Jeśli chcesz również zainstalować pakiety Python 2.x, musisz utworzyć inne środowisko wirtualne Python.
Nowe środowisko wirtualne Python dla Python3 zostanie utworzone w
env
katalogu znajdującym się w bieżącym katalogu.Zainstaluj pakiety Python.
Jest to nowe środowisko wirtualne Python3 z najnowszą wersją pip3, więc instalowanie w nim pakietów Python będzie działało świetnie.
Zainstaluj pakiety Python 3.x w środowisku wirtualnym Python w Ubuntu 14.04
Dodaj następujący wiersz na końcu .bashrc.
Zapisz zmiany w .bashrc i zamknij gedit. Źródło .bashrc, aby zmiany odniosły skutek.
Utwórz wirtualne środowisko Python dla Python3. Pakiety python3 można instalować tylko w tym środowisku wirtualnym Python. Jeśli chcesz również zainstalować pakiety Python 2.x, musisz utworzyć inne środowisko wirtualne Python.
Nowe środowisko wirtualne Python dla Python3 zostanie utworzone w
~/.virtualenvs/py3
katalogu..virtualenvs
jest ukrytym folderem.Zainstaluj pakiet.
źródło
python3-virtualenv
ipython3-venv
dostępne pakiety. Zakładam, żepython3-venv
to właściwy pakiet, w którym to przypadku nie mam pojęcia, do czegopython3-virtualenv
służy.virtualenv
(wykonywalnego) do stworzenia środowiska z dowolnym tłumaczem, w tym PyPy, w porządku npvirtualenv -p python3 newenv
.Cóż, komplikuje się. Poniższe informacje przedstawiono w stosunku do Ubuntu Xenial (będącego podstawą wydania dla Linux Mint, którego używam). Rozwiążmy to:
pyvenv
Odnosi się do skryptu opakowania pakietu stdlib Python 3.3+ . Ale był przestarzały od Pythona 3.6.
Jest to również pakiet PyPi , który jest przełącznikiem środowiska wirtualnego.
venv
Jest to pakiet stdlib Python 3.3+ , którego celem było ulepszenie i zastąpienie pakietu virtualenv PyPi (patrz PEP 405 ). Ale wygląda na to, że jeszcze go tam nie ma (przynajmniej nie w pełni funkcjonalny).
python-virtualenv i virtualenv
Jak widać, działa na Python 3.
python-virtualenv
Pakiet powinien być używany w podobny sposóbpython2 -m virtualenv py2
. Zobaczmy, jakvirtualenv
działa na świeżym Ubuntu Xenial (docker run --rm -it ubuntu:xenial
):Jak widać, mimo że
virtualenv
pakiet używapython3-virtualenv
, domyślnie jest tworzone środowisko Python 2.źródło