Re: Need a Python 3.8 virtual environment
Thank you so much to the many folks on debian-python who responded with instructions and pointers! On Wednesday, March 3, 2021 4:45:46 A.M. CST Julien Palard wrote: > As other told, the right way is probably to compile it yourself (or use > pyenv, but I don't like pyenv "shims", I prefer to keep it simple). Thank you for the detailed instructions! I used this method to build python myself and now I have the virtual environment set up. Regards, -Steve signature.asc Description: This is a digitally signed message part.
Re: Need a Python 3.8 virtual environment
On Wed, Mar 3, 2021 at 8:56 AM Steven Robbins wrote: > > Hi, > > I'm trying to use a (non-Debian) python system built on python 3.8. Debian's > default is currently 3.9 so I am advised to use a virtual environment. Being > a newbie, I searched around and found a writeup covering several different > virtualization tools [1]. Note I am using Debian 'sid'. > > I can use the tool "virtualenv" to create a virtual environment for default > python: > > steve@riemann:/tmp$ virtualenv blah > created virtual environment CPython3.9.1.final.0-64 in 77ms > creator CPython3Posix(dest=/tmp/blah, clear=False, no_vcs_ignore=False, > global=False) > seeder FromAppData(download=False, pip=bundle, setuptools=bundle, > wheel=bundle, via=copy, app_data_dir=/home/steve/.local/share/virtualenv) > added seed packages: pip==20.1.1, pkg_resources==0.0.0, > setuptools==44.0.0, wheel==0.34.2 > activators > BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator > > > But not for python 3.8: > > steve@riemann:/tmp$ virtualenv -p python3.8 blah38 > RuntimeError: failed to find interpreter for Builtin discover of > python_spec='python3.8' > > > I have installed literally all the Debian python packages whose name contains > 'python3.8'. A very short list: > > ii libpython3.8:amd643.8.7-1 > amd64Shared Python runtime library (version 3.8) > ii libpython3.8-dev:amd643.8.7-1 > amd64Header files and a static library for Python (v3.8) > ii libpython3.8-minimal:amd643.8.7-1 > amd64Minimal subset of the Python language (version 3.8) > ii libpython3.8-stdlib:amd64 3.8.7-1 > amd64Interactive high-level object-oriented language (standard > library, version 3.8) > ii python3.8 3.8.7-1 > amd64Interactive high-level object-oriented language (version 3.8) > ii python3.8-dev 3.8.7-1 > amd64Header files and a static library for Python (v3.8) > ii python3.8-minimal > > > > I have also tried the module 'venv': > > steve@riemann:/tmp$ python3.8 -m venv v38 > 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: ['/tmp/v38/bin/python3.8', '-Im', 'ensurepip', '--upgrade', > '--default-pip'] > > steve@riemann:/tmp$ python3.8 -m venv blah38 > 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: ['/tmp/blah38/bin/python3.8', '-Im', 'ensurepip', '-- > upgrade', '--default-pip'] > > > Note that I do have 'python3-venv' installed, but it is the 3.9 version: > ii python3-venv 3.9.1-1 > amd64pyvenv-3 binary for python3 (default python3 version) > > > Is there something I've missed? > > Thank you, > -Steve > > [1] > https://linuxconfig.org/how-to-set-up-a-python-virtual-environment-on-debian-10-buster try using pyenv https://mentors.debian.net/package/pyenv/
Re: Need a Python 3.8 virtual environment
On 3/3/21 6:56 PM, Andrey Rahmatullin wrote: > On Wed, Mar 03, 2021 at 05:39:04PM +, Stefano Rivera wrote: >> You need python3.8-venv. > Which doesn't exist, at least in the current repos. you rebuild it from python3-stdlib-extensions. but yes, the binaries don't exist in the archive.
Re: Need a Python 3.8 virtual environment
On Wed, Mar 03, 2021 at 05:39:04PM +, Stefano Rivera wrote: > You need python3.8-venv. Which doesn't exist, at least in the current repos. -- WBR, wRAR signature.asc Description: PGP signature
Re: Need a Python 3.8 virtual environment
Hi Steven (2021.03.03_03:17:36_+) > steve@riemann:/tmp$ python3.8 -m venv blah38 > 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: ['/tmp/blah38/bin/python3.8', '-Im', 'ensurepip', '-- > upgrade', '--default-pip'] > > > Note that I do have 'python3-venv' installed, but it is the 3.9 version: > ii python3-venv 3.9.1-1 > > amd64pyvenv-3 binary for python3 (default python3 version) > > > Is there something I've missed? You need python3.8-venv. But even then you may run into a missing/incompatible distutils (#979819): https://bugs.debian.org/979819 You can see if you have, by running the failing ensurepip command by hand. Hopefully we'll make that situation better soon... BTW: There's a deadsnakes-like archive for Debian: https://people.debian.org/~paravoid/python-all/ SR -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
Re: Need a Python 3.8 virtual environment
On 2021-03-03 10:45:46 + (+), Julien Palard wrote: [...] > I'm using a bash function [1] to easily recompile needed Pythons (I test > some projects with Python 3.5 to 3.9), but it's not that hard without my > bash function: [...] This is pretty much identical to how I tackle it too, though I build from tags checked out of the cpython Git repository. If you're looking for prebuilt debs, I know some folks use this, from what I understand the packages should be compatible with reasonably contemporary Debian releases: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa -- Jeremy Stanley signature.asc Description: PGP signature
Re: Need a Python 3.8 virtual environment
On Wed, Mar 03, 2021 at 08:32:01AM -0500, Yaroslav Halchenko wrote: > > I'm trying to use a (non-Debian) python system built on python 3.8. > > Debian's > > default is currently 3.9 so I am advised to use a virtual environment. > > Being > > a newbie, I searched around and found a writeup covering several different > > virtualization tools [1]. Note I am using Debian 'sid'. > > I know that it is not a "proper" Debian answer Sure, the only proper Debian answer would be "actually you don't need this version". -- WBR, wRAR signature.asc Description: PGP signature
Re: Need a Python 3.8 virtual environment
On Tue, 02 Mar 2021, Steven Robbins wrote: > Hi, > I'm trying to use a (non-Debian) python system built on python 3.8. Debian's > default is currently 3.9 so I am advised to use a virtual environment. > Being > a newbie, I searched around and found a writeup covering several different > virtualization tools [1]. Note I am using Debian 'sid'. I know that it is not a "proper" Debian answer, but in such cases I just quickly install miniconda with a needed python version. I keep a miniconda installation with conda environments for different Pythons for such cases. -- Yaroslav O. Halchenko Center for Open Neuroscience http://centerforopenneuroscience.org Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755 WWW: http://www.linkedin.com/in/yarik
Re: Need a Python 3.8 virtual environment
Le 2021-03-03 à 04:17, Steven Robbins a écrit : > I'm trying to use a (non-Debian) python system built on python 3.8. Debian's > default is currently 3.9 so I am advised to use a virtual environment. As other told, the right way is probably to compile it yourself (or use pyenv, but I don't like pyenv "shims", I prefer to keep it simple). I'm using a bash function [1] to easily recompile needed Pythons (I test some projects with Python 3.5 to 3.9), but it's not that hard without my bash function: apt install make build-essential libbz2-dev liblzma-dev libssl-dev llvm libreadline-dev libncurses5-dev libffi-dev zlib1g-dev tk-dev libsqlite3-dev xz-utils wget the version you want from https://www.python.org/ftp/python tar -xzf it ./configure --prefix=$HOME/.local/ make -j $(nproc) make altinstall You'll get a `python3.8` binary in ~/.local/bin, you can create venvs with it as: python3.8 -m venv the_venv_path [1]: https://github.com/JulienPalard/dotfiles/blob/0b5feb79b1ba648b7212162b68da5a182e0341c1/.bashrc#L196 -- [Julien Palard](https://mdk.fr)
Re: Need a Python 3.8 virtual environment
Hi Steven, On Tue, Mar 02, 2021 at 09:17:36PM -0600, Steven Robbins wrote: > I'm trying to use a (non-Debian) python system built on python 3.8. Debian's > ... > Is there something I've missed? Do you know https://github.com/saghul/pythonz ? I do not use it myself, but a colleague told me he uses that when he needs to test something with every python version available. Hope this helps. -- Nicolas Chauvat logilab.fr - services en informatique scientifique et gestion de connaissances
Re: Need a Python 3.8 virtual environment
Hi Steven, i tested in a freshly installed virtualbox machine and was able to create a virtual environment, using the following steps: built python3.8.7 form tarball (|https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tar.xz)| ran python3.8 -m venv test387 and then could activate it. I hope this helps, Balazs On 03/03/2021 03:17, Steven Robbins wrote: Hi, I'm trying to use a (non-Debian) python system built on python 3.8. Debian's default is currently 3.9 so I am advised to use a virtual environment. Being a newbie, I searched around and found a writeup covering several different virtualization tools [1]. Note I am using Debian 'sid'. I can use the tool "virtualenv" to create a virtual environment for default python: steve@riemann:/tmp$ virtualenv blah created virtual environment CPython3.9.1.final.0-64 in 77ms creator CPython3Posix(dest=/tmp/blah, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/steve/.local/share/virtualenv) added seed packages: pip==20.1.1, pkg_resources==0.0.0, setuptools==44.0.0, wheel==0.34.2 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator But not for python 3.8: steve@riemann:/tmp$ virtualenv -p python3.8 blah38 RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8' I have installed literally all the Debian python packages whose name contains 'python3.8'. A very short list: ii libpython3.8:amd643.8.7-1 amd64Shared Python runtime library (version 3.8) ii libpython3.8-dev:amd643.8.7-1 amd64Header files and a static library for Python (v3.8) ii libpython3.8-minimal:amd643.8.7-1 amd64Minimal subset of the Python language (version 3.8) ii libpython3.8-stdlib:amd64 3.8.7-1 amd64Interactive high-level object-oriented language (standard library, version 3.8) ii python3.8 3.8.7-1 amd64Interactive high-level object-oriented language (version 3.8) ii python3.8-dev 3.8.7-1 amd64Header files and a static library for Python (v3.8) ii python3.8-minimal I have also tried the module 'venv': steve@riemann:/tmp$ python3.8 -m venv v38 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: ['/tmp/v38/bin/python3.8', '-Im', 'ensurepip', '--upgrade', '--default-pip'] steve@riemann:/tmp$ python3.8 -m venv blah38 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: ['/tmp/blah38/bin/python3.8', '-Im', 'ensurepip', '-- upgrade', '--default-pip'] Note that I do have 'python3-venv' installed, but it is the 3.9 version: ii python3-venv 3.9.1-1 amd64pyvenv-3 binary for python3 (default python3 version) Is there something I've missed? Thank you, -Steve [1] https://linuxconfig.org/how-to-set-up-a-python-virtual-environment-on-debian-10-buster
Re: Need a Python 3.8 virtual environment
It looks like the only sane way to use non-default Python versions is to build them locally using pyenv. -- WBR, wRAR signature.asc Description: PGP signature
Re: Need a Python 3.8 virtual environment
On Tue, 02 Mar 2021 21:17:36 -0600 Steven Robbins wrote: > Hi, > > I'm trying to use a (non-Debian) python system built on python 3.8. Debian's > default is currently 3.9 so I am advised to use a virtual environment. > Being > a newbie, I searched around and found a writeup covering several different > virtualization tools [1]. Note I am using Debian 'sid'. [...] > Is there something I've missed? Hi Steven, I don't think there is any simple solution for you within the debian ecosystem. As a developper, I faced the same issue and ended in installing `conda` to have a quick access to the various python versions (then I create some venv from the conda environments). I doubt our use-case is common enough to justify having multiple python (again) in Debian. Cheers, Jerome PS: venv are about 10x smaller than conda environments !
Need a Python 3.8 virtual environment
Hi, I'm trying to use a (non-Debian) python system built on python 3.8. Debian's default is currently 3.9 so I am advised to use a virtual environment. Being a newbie, I searched around and found a writeup covering several different virtualization tools [1]. Note I am using Debian 'sid'. I can use the tool "virtualenv" to create a virtual environment for default python: steve@riemann:/tmp$ virtualenv blah created virtual environment CPython3.9.1.final.0-64 in 77ms creator CPython3Posix(dest=/tmp/blah, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/steve/.local/share/virtualenv) added seed packages: pip==20.1.1, pkg_resources==0.0.0, setuptools==44.0.0, wheel==0.34.2 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator But not for python 3.8: steve@riemann:/tmp$ virtualenv -p python3.8 blah38 RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.8' I have installed literally all the Debian python packages whose name contains 'python3.8'. A very short list: ii libpython3.8:amd643.8.7-1 amd64Shared Python runtime library (version 3.8) ii libpython3.8-dev:amd643.8.7-1 amd64Header files and a static library for Python (v3.8) ii libpython3.8-minimal:amd643.8.7-1 amd64Minimal subset of the Python language (version 3.8) ii libpython3.8-stdlib:amd64 3.8.7-1 amd64Interactive high-level object-oriented language (standard library, version 3.8) ii python3.8 3.8.7-1 amd64Interactive high-level object-oriented language (version 3.8) ii python3.8-dev 3.8.7-1 amd64Header files and a static library for Python (v3.8) ii python3.8-minimal I have also tried the module 'venv': steve@riemann:/tmp$ python3.8 -m venv v38 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: ['/tmp/v38/bin/python3.8', '-Im', 'ensurepip', '--upgrade', '--default-pip'] steve@riemann:/tmp$ python3.8 -m venv blah38 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: ['/tmp/blah38/bin/python3.8', '-Im', 'ensurepip', '-- upgrade', '--default-pip'] Note that I do have 'python3-venv' installed, but it is the 3.9 version: ii python3-venv 3.9.1-1 amd64pyvenv-3 binary for python3 (default python3 version) Is there something I've missed? Thank you, -Steve [1] https://linuxconfig.org/how-to-set-up-a-python-virtual-environment-on-debian-10-buster signature.asc Description: This is a digitally signed message part.