Message284116
On Python 3.6, I made the edit. I actually used the one-liner ` os.environ.pop('__PYVENV_LAUNCHER__', None)`. I then created a venv and installed a package and successfully ran a module in that package:
$ python -m venv ~/.envs/issue22490-test
$ ~/.envs/issue22490-test/bin/python -m pip install cherrypy
Collecting cherrypy
Downloading CherryPy-8.5.0-py2.py3-none-any.whl (463kB)
100% |████████████████████████████████| 471kB 2.2MB/s
Collecting six (from cherrypy)
Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, cherrypy
Successfully installed cherrypy-8.5.0 six-1.10.0
$ ~/.envs/issue22490-test/bin/python -m cherrypy
...
[27/Dec/2016:11:08:52] ENGINE Serving on http://127.0.0.1:8080
[27/Dec/2016:11:08:52] ENGINE Bus STARTED
So pyvenv seems to be working.
Additionally, it's corrected the undesirable behavior that Tim demonstrated:
$ rm -R ~/.envs/issue22490-test
$ python -m virtualenv ~/.envs/issue22490-test
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/jaraco/.envs/issue22490-test/bin/python3
Also creating executable in /Users/jaraco/.envs/issue22490-test/bin/python
Installing setuptools, pip, wheel...done.
$ python -c 'import subprocess; subprocess.call(["/Users/jaraco/.envs/issue22490-test/bin/python", "-c", "import sys; print(sys.executable)"])'
/Users/jaraco/.envs/issue22490-test/bin/python
I tried making a Framework build of Python with the environment variable removed entirely, but I'm not experienced enough with builds on a Mac to know what I need to do to create a proper build. I build Python from source and tried to create a venv, but it crashed with a nondescript error:
$ ./python.exe -VV
Python 3.6.0+ (3.6:86a412584c02+, Dec 27 2016, 11:24:01)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]
$ ./python.exe -m venv ~/.envs/issue22490
Error: Command '['/Users/jaraco/.envs/issue22490/bin/python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Aah. The issue is probably no zlib.
$ curl https://bootstrap.pypa.io/get-pip.py -o - | ~/.envs/issue22490/bin/python
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1558k 100 1558k 0 0 5221k 0 --:--:-- --:--:-- --:--:-- 5210k
Traceback (most recent call last):
File "<stdin>", line 20061, in <module>
File "<stdin>", line 194, in main
File "<stdin>", line 82, in bootstrap
zipimport.ZipImportError: can't decompress data; zlib not available
After making sure I had zlib installed and available, by re-running xcode-select --install, I was able to build with zlib, create a venv, and install packages to it:
$ ./python.exe -m venv ~/.envs/issue22490
$ ~/.envs/issue22490/bin/python -c "import os; os.environ['__PYVENV_LAUNCHER__']"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/jaraco/Dropbox/code/public/cpython/Lib/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: '__PYVENV_LAUNCHER__'
$ ~/.envs/issue22490/bin/pip install cherrypy
Collecting cherrypy
Using cached CherryPy-8.5.0-py2.py3-none-any.whl
Collecting six (from cherrypy)
Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, cherrypy
Successfully installed cherrypy-8.5.0 six-1.10.0
$ ~/.envs/issue22490/bin/python -m cherrypy
...
[27/Dec/2016:11:58:09] ENGINE Serving on http://127.0.0.1:8080
[27/Dec/2016:11:58:09] ENGINE Bus STARTED
What else would I need to test? What might one expect to fail due to the lack of that environment variable? |
|
Date |
User |
Action |
Args |
2016-12-27 17:01:34 | jaraco | set | recipients:
+ jaraco, vinay.sajip, ronaldoussoren, ned.deily, tdsmith |
2016-12-27 17:01:34 | jaraco | set | messageid: <1482858094.53.0.0230615862389.issue22490@psf.upfronthosting.co.za> |
2016-12-27 17:01:34 | jaraco | link | issue22490 messages |
2016-12-27 17:01:33 | jaraco | create | |
|