using pyenv and virtual environment created with venv question - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: using pyenv and virtual environment created with venv question (/thread-11340.html) |
using pyenv and virtual environment created with venv question - Larz60+ - Jul-04-2018 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 flaskappI start (or so I thought) my virtual environment without error, using (from flaskapp directory): ./bin/activateThen 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 environmentWhy? RE: using pyenv and virtual environment created with venv question - gontajones - Jul-04-2018 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') RE: using pyenv and virtual environment created with venv question - snippsat - Jul-04-2018 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 RE: using pyenv and virtual environment created with venv question - Larz60+ - Jul-04-2018 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! |