воскресенье, 25 февраля 2018 г.

Venv + python3 + Ubuntu 16.04 = Время офигительных историй =)

Ну, такое... По порядку. 
Свежая система, python3, делаем python3 -m venv venv и получаем:


$ python3 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
    apt-get install python3-venv
You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/user/venv/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

Ну что же, надо так надо. Делаем sudo apt-get install python3-venv, потом еще раз python3 -m venv venv, и...:


$ python3 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
    apt-get install python3-venv
You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/user/venv/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
WTF??

Есть описание подобных проблем, с вариантами решений типа:
python3 -m venv myvenv --without-pip --system-site-packages
myvenv/bin/python3 -m pip install Django
Но, для начала... стоит проверить настройку локалей =) Забавно, но факт, строчки типа:
export LC_ALL="en_US.UTF-8" 
export LC_CTYPE="en_US.UTF-8" 
sudo dpkg-reconfigure locales
скопипащенные в консоль (с подстановкой локалей по вкусу) решают множество проблем в мгновение ока =)