Python Forum
using pyenv and virtual environment created with venv question
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
using pyenv and virtual environment created with venv question
#1
Ok,

I am running OpenSuse Leap 15

I have pyenv properly (I'm quite (sort of, maybe) confident of this) running, and set up to run python 3.7.0 when I execute python from shell.
I also have a virtual environment created with:
python -m venv flaskapp
I start (or so I thought) my virtual environment without error, using (from flaskapp directory):
./bin/activate
Then run Python and pip check:
arz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp/app/tools> python -V
Python 3.7.0
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp/app/tools> pip -V
pip 10.0.1 from /home/Larz60p/.pyenv/versions/3.7.0/lib/python3.7/site-packages/pip (python 3.7)
and it doesn't appear to be running local copy

I then run this simple script:
# Check if in virtual environment
import sys

if hasattr(sys, 'real_prefix'):
    print('Running virtual environment')
else:
    print('Not running virtual environment')
and get reply:
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp/app/tools> python CheckEnvironment.py 
Not running virtual environment
Why?
Reply
#2
To activate it, run source:

source bin/activate

I just noticed that using pyenv you have to check for base_prefix instead of real_prefix.

# Check if in virtual environment
import sys

if hasattr(sys, 'real_prefix'):
    print('Running virtual environment - virtualenv')
elif hasattr(sys, 'base_prefix'):
    print('Running virtual environment - pyenv')
else:
    print('Not running virtual environment')
Reply
#3
venv demo:
# Make 
mint@mint ~ $ python -m venv flaskapp

# Cd in
mint@mint ~ $ cd flaskapp

# Activate
mint@mint ~/flaskapp $ source bin/activate

# It show (flaskapp) when active
(flaskapp) mint@mint ~/flaskapp $ which python
/home/mint/flaskapp/bin/python

(flaskapp) mint@mint ~/flaskapp $ pip -V
pip 10.0.1 from /home/mint/flaskapp/lib/python3.7/site-packages/pip (python 3.7)
(flaskapp) mint@mint ~/flaskapp $
# All work as it should finish

pipenv demo:
With pipenv you work from active clean folder.
# Make folder
mint@mint ~ $ mkdir flaskapp

# Cd in
mint@mint ~ $ cd flaskapp

# Install and make virtual environment all in one line
mint@mint ~/flaskapp $ pipenv install Flask
Creating a virtualenv for this project...
Pipfile: /home/mint/flaskapp/Pipfile
Using /home/mint/.pyenv/versions/3.7.0/bin/python3.7 (3.7.0) to create virtualenv...
  ?   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 6/6 — 00:00:04
.................
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

# Activate
mint@mint ~/flaskapp $ pipenv shell
Launching subshell in virtual environment…
 . /home/mint/.local/share/virtualenvs/flaskapp--hKqYMAI/bin/activate
mint@mint ~/flaskapp $  . /home/mint/.local/share/virtualenvs/flaskapp--hKqYMAI/bin/activate

# Test python and pip
(flaskapp--hKqYMAI) mint@mint ~/flaskapp $ which python
/home/mint/.local/share/virtualenvs/flaskapp--hKqYMAI/bin/python

(flaskapp--hKqYMAI) mint@mint ~/flaskapp $ pip -V
pip 10.0.1 from /home/mint/.local/share/virtualenvs/flaskapp--hKqYMAI/lib/python3.7/site-packages/pip (python 3.7)
(flaskapp--hKqYMAI) mint@mint ~/flaskapp $ 

# Look at graph
(flaskapp--hKqYMAI) mint@mint ~/flaskapp $ pipenv graph
Flask==1.0.2
  - click [required: >=5.1, installed: 6.7]
  - itsdangerous [required: >=0.24, installed: 0.24]
  - Jinja2 [required: >=2.10, installed: 2.10]
    - MarkupSafe [required: >=0.23, installed: 1.0]
  - Werkzeug [required: >=0.14, installed: 0.14.1]

Last using pyenv:
I am not using pyenv for virtual environment,only for install of Python/Anaconda/PyPy and set it as global.
But can show how virtual environment works with pyenv.
# Make 
mint@mint ~ $ pyenv virtualenv 3.7.0 flaskapp
Using base prefix '/home/mint/.pyenv/versions/3.7.0'
New python executable in /home/mint/.pyenv/versions/3.7.0/envs/flaskapp/bin/python3.7
Also creating executable in /home/mint/.pyenv/versions/3.7.0/envs/flaskapp/bin/python
Installing setuptools, pip, wheel...done.

# Activate
mint@mint ~ $ pyenv activate flaskapp
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

# python and pip
(flaskapp) mint@mint ~ $ which python
/home/mint/.pyenv/shims/python
(flaskapp) mint@mint ~ $ pip -V
pip 10.0.1 from /home/mint/.pyenv/versions/3.7.0/envs/flaskapp/lib/python3.7/site-packages/pip (python 3.7)

# Install
(flaskapp) mint@mint ~ $ pip install Flask
Collecting Flask
..............  
Successfully installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 itsdangerous-0.24

# List
(flaskapp) mint@mint ~ $ pip list
Package      Version
------------ -------
click        6.7    
Flask        1.0.2  
itsdangerous 0.24   
Jinja2       2.10   
MarkupSafe   1.0    
pip          10.0.1 
setuptools   39.2.0 
Werkzeug     0.14.1 
wheel        0.31.1 
Reply
#4
first one works with gontajones source command:
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> python -m venv flaskapp
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> cd flaskapp
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> ~/flaskapp $ source bin/activate
bash: /home/Larz60p/flaskapp: No such file or directory
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> source bin/activate
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> which python
/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp/bin/python
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> pip -V
pip 10.0.1 from /run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp/lib/python3.7/site-packages/pip (python 3.7)
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp>
will try 2 and 3 in a bit

Part2:
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> pipenv install Flask
Creating a virtualenv for this project...
Pipfile: /run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp/Pipfile
Using /home/Larz60p/.pyenv/versions/3.7.0/bin/python3.7 (3.7.0) to create virtualenv...
⠋Already using interpreter /home/Larz60p/.pyenv/versions/3.7.0/bin/python3.7
Using base prefix '/home/Larz60p/.pyenv/versions/3.7.0'                                                                            
/home/Larz60p/.local/lib/python3.7/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses                                                                     
  import imp                                                                                                                       
New python executable in /home/Larz60p/.local/share/virtualenvs/flaskapp-42hAfdJ7/bin/python3.7                                    
Also creating executable in /home/Larz60p/.local/share/virtualenvs/flaskapp-42hAfdJ7/bin/python                                    
Installing setuptools, pip, wheel...done.                                                                                          
Setting project for flaskapp-42hAfdJ7 to /run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp                                         

Virtualenv location: /home/Larz60p/.local/share/virtualenvs/flaskapp-42hAfdJ7
Creating a Pipfile for this project...
Installing Flask...
Collecting Flask
  Downloading https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl (91kB)                                                                                                      
Collecting Jinja2>=2.10 (from Flask)                                                                                               
  Downloading https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl (126kB)                                                                                                     
Collecting itsdangerous>=0.24 (from Flask)                                                                                         
  Downloading https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz (46kB)                                                                                                              
Collecting click>=5.1 (from Flask)                                                                                                 
  Downloading https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl (71kB)                                                                                                        
Collecting Werkzeug>=0.14 (from Flask)                                                                                             
  Downloading https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)                                                                                                 
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->Flask)                                                                             
  Downloading https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz                                                                                                                        
Building wheels for collected packages: itsdangerous, MarkupSafe                                                                   
  Running setup.py bdist_wheel for itsdangerous: started                                                                           
  Running setup.py bdist_wheel for itsdangerous: finished with status 'done'                                                       
  Stored in directory: /home/Larz60p/.cache/pipenv/wheels/2c/4a/61/5599631c1554768c6290b08c02c72d7317910374ca602ff1e5              
  Running setup.py bdist_wheel for MarkupSafe: started                                                                             
  Running setup.py bdist_wheel for MarkupSafe: finished with status 'done'                                                         
  Stored in directory: /home/Larz60p/.cache/pipenv/wheels/33/56/20/ebe49a5c612fffe1c5a632146b16596f9e64676768661e4e46              
Successfully built itsdangerous MarkupSafe                                                                                         
Installing collected packages: MarkupSafe, Jinja2, itsdangerous, click, Werkzeug, Flask                                            
Successfully installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 itsdangerous-0.24                          

Adding Flask to Pipfile's [packages]...
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (662286)!
Installing dependencies from Pipfile.lock (662286)...
  ?   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 6/6 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> pipenv shell
Launching subshell in virtual environment…
 . /home/Larz60p/.local/share/virtualenvs/flaskapp-42hAfdJ7/bin/activate
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp>  . /home/Larz60p/.local/share/virtualenvs/flaskapp-42hAfdJ7/bin/activate
(flaskapp-42hAfdJ7) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> pip -V
pip 10.0.1 from /home/Larz60p/.local/share/virtualenvs/flaskapp-42hAfdJ7/lib/python3.7/site-packages/pip (python 3.7)
(flaskapp-42hAfdJ7) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f/flaskapp> pipenv graph
Flask==1.0.2
  - click [required: >=5.1, installed: 6.7]
  - itsdangerous [required: >=0.24, installed: 0.24]
  - Jinja2 [required: >=2.10, installed: 2.10]
    - MarkupSafe [required: >=0.23, installed: 1.0]
  - Werkzeug [required: >=0.14, installed: 0.14.1]
part3
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> pyenv virtualenv 3.7.0 flaskapp                          
Looking in links: /tmp/tmpiiv1adpr
Requirement already satisfied: setuptools in /home/Larz60p/.pyenv/versions/3.7.0/envs/flaskapp/lib/python3.7/site-packages (39.0.1)
Requirement already satisfied: pip in /home/Larz60p/.pyenv/versions/3.7.0/envs/flaskapp/lib/python3.7/site-packages (10.0.1)
Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> pyenv activate flaskapp
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> which python
/home/Larz60p/.pyenv/shims/python
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> pip -V
pip 10.0.1 from /home/Larz60p/.pyenv/versions/3.7.0/envs/flaskapp/lib/python3.7/site-packages/pip (python 3.7)
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> pip install Flask
Collecting Flask
  Using cached https://files.pythonhosted.org/packages/7f/e7/08578774ed4536d3242b14dacb4696386634607af824ea997202cd0edb4b/Flask-1.0.2-py2.py3-none-any.whl
Collecting itsdangerous>=0.24 (from Flask)
  Using cached https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz
Collecting Jinja2>=2.10 (from Flask)
  Using cached https://files.pythonhosted.org/packages/7f/ff/ae64bacdfc95f27a016a7bed8e8686763ba4d277a78ca76f32659220a731/Jinja2-2.10-py2.py3-none-any.whl
Collecting Werkzeug>=0.14 (from Flask)
  Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl
Collecting click>=5.1 (from Flask)
  Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->Flask)
  Using cached https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz
Installing collected packages: itsdangerous, MarkupSafe, Jinja2, Werkzeug, click, Flask
  Running setup.py install for itsdangerous ... done
  Running setup.py install for MarkupSafe ... done
Successfully installed Flask-1.0.2 Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 itsdangerous-0.24
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f> pip list
Package      Version
------------ -------
click        6.7    
Flask        1.0.2  
itsdangerous 0.24   
Jinja2       2.10   
MarkupSafe   1.0    
pip          10.0.1 
setuptools   39.0.1 
Werkzeug     0.14.1 
(flaskapp) Larz60p@linux-nnem:/run/media/Larz60p/Data-4TB/python/e-h/f>
Looks like I'm good to go!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Help with creating folder and "virtual environment" AudunNilsen 1 171 Mar-21-2024, 04:41 AM
Last Post: deanhystad
  my venv is not loading njoki 1 178 Mar-20-2024, 10:41 AM
Last Post: snippsat
  Installing python packages in a virtual environment Led_Zeppelin 1 711 Aug-15-2023, 08:18 PM
Last Post: deanhystad
  Understanding venv; How do I ensure my python script uses the environment every time? Calab 1 2,155 May-10-2023, 02:13 PM
Last Post: Calab
  Problem with virtual environment standenman 2 942 Feb-23-2023, 07:09 PM
Last Post: standenman
  Python venv and PIP version issue JanOlvegg 2 1,199 Feb-22-2023, 02:22 AM
Last Post: JanOlvegg
Question Virtual Environment (using VS Code) Ashcora 4 12,474 Feb-15-2023, 07:17 PM
Last Post: snippsat
  Visual Studio Code venv ibm_db error mesi1000 7 2,660 Nov-13-2022, 12:36 AM
Last Post: snippsat
  How do I link the virtual environment of that project to the 3.9.2 version of python? Bryant11 1 1,331 Feb-26-2022, 11:15 AM
Last Post: Larz60+
Shocked Issues Installing Pyenv/Python 3.9.1 Brandon_Contactum 1 2,461 Feb-22-2022, 06:32 PM
Last Post: snippsat

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020