Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

venv doesn't create activate script python3

When trying to create a virtulenv using venv with python 3 on ubuntu it isn’t creating an activate script. It conitunally exits with an error 1.

Following docs and other posts on SO such as https://stackoverflow.com/a/19848770

I have tried creating it 2 different ways.

sayth@sayth-TravelMate-5740G:~/scripts$ python3 -m venv test4 Error: Command '['/home/sayth/scripts/test4/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 sayth@sayth-TravelMate-5740G:~/scripts$ source test4/bin/activate bash: test4/bin/activate: No such file or directory sayth@sayth-TravelMate-5740G:~/scripts$ ls test4/bin/ python  python3 

or

sayth@sayth-TravelMate-5740G:~/scripts$ pyvenv-3.4 test5 Error: Command '['/home/sayth/scripts/test5/bin/python3.4', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 sayth@sayth-TravelMate-5740G:~/scripts$ ls test5/bin/ python  python3  python3.4 

How can I get it to fully create a venv?

If I do it as below with stil no success unsure what the issue is?

sayth@sayth-TravelMate-5740G:~/scripts$ python3 -Im venv panda3 Error: Command '['/home/sayth/scripts/panda3/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 sayth@sayth-TravelMate-5740G:~/scripts$ python3 -m venv panda4 Error: Command '['/home/sayth/scripts/panda4/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 
like image 406
sayth Avatar asked Oct 06 '14 12:10

sayth


People also ask

How do I know if Python venv is activated?

Check the $VIRTUAL_ENV environment variable. The $VIRTUAL_ENV environment variable contains the virtual environment's directory when in an active virtual environment. Once you run deactivate / leave the virtual environment, the $VIRTUAL_ENV variable will be cleared/empty.


2 Answers

Looks like you are using Ubuntu 14.04. It was shipped with a broken pyvenv. There is a simple work around to create venv using Python 3

1. Create venv without pip

python3 -m venv --without-pip test4 

or

pyvenv-3.4 --without-pip test4 

2. Get pip in your env

source test4/bin/activate curl https://bootstrap.pypa.io/get-pip.py | python deactivate source test4/bin/activate 

or

pyvenv-3.4 --without-pip myvenv source ./myvenv/bin/activate wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.4.4.tar.gz tar -vzxf setuptools-3.4.4.tar.gz cd setuptools-3.4.4 python setup.py install cd .. wget https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz tar -vzxf pip-1.5.6.tar.gz cd pip-1.5.6 python setup.py install cd .. deactivate source ./myvenv/bin/activate 

Source: HackerNews, AskUbuntu

like image 137
Pandikunta Anand Reddy Avatar answered Oct 06 '22 16:10

Pandikunta Anand Reddy


Anaconda involucred.

If you are using Anaconda or Miniconda this solution may help:

Conda manages python itself as a package, so that conda update python is possible, in contrast to pip, which only manages Python packages. Conda is available in Anaconda and Miniconda (an easy-to-install download with just Python and conda).

So, this command would help:

conda update python 

very disturbing for me but well, hands to the keyboard in a terminal window: (click here, see the picture)

Thanks for your attention, have a nice day!

like image 37
Jimmy Olano Avatar answered Oct 06 '22 17:10

Jimmy Olano