lambci / docker-lambda

Docker images and test runners that replicate the live AWS Lambda environment
MIT License
5.83k stars 431 forks source link

virtualvenv is not working anymore in build-python2.7 #252

Closed bzemms closed 4 years ago

bzemms commented 4 years ago

since last upgrade, using virtualvenv 20.x.x, virtualvenv is not working anymore in build-python2.7

bash-4.2# virtualenv
RuntimeError: No virtualenv implementation for PythonInfo({'base_exec_prefix': None, 'system_stdlib': u'/usr/lib/python2.7', 'has_venv': False, 'prefix': u'/usr', 'stdout_encoding': u'UTF-8',
 'executable': '/usr/bin/python', 'implementation': u'CPython', 'exec_prefix': u'/usr', 'platform': u'linux2', 'version': u'2.7.16 (default, Oct 14 2019, 21:26:56) \n[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]', 'sysconfig_paths': {u'platstdlib': u'{platbase}/lib64/python{py_version_short}', 
u'platlib': u'{platbase}/local/lib64/python{py_version_short}/site-packages', u'purelib': u'{base}/local/lib/python{py_version_short}/site-packages', u'stdlib': u'{base}/lib/python{py_version_short}', u'scripts': u'{base}/local/bin', 
u'include': u'{base}/local/include/python{py_version_short}', u'data': u'{base}/local'}, 'base_prefix': None, 'file_system_encoding': u'UTF-8', 'version_info': VersionInfo(major=2, minor=7, micro=16, releaselevel=u'final', serial=0), 
'sysconfig_vars': {u'base': u'/usr', u'platbase': u'/usr', u'py_version_short': u'2.7'}, 'path': [u'/usr/local/bin', u'/var/runtime', u'/usr/lib/python27.zip', u'/usr/lib64/python2.7', u'/usr/lib64/python2.7/plat-linux2', 
u'/usr/lib64/python2.7/lib-tk', u'/usr/lib64/python2.7/lib-old', u'/usr/lib64/python2.7/lib-dynload', u'/usr/local/lib64/python2.7/site-packages', u'/usr/local/lib/python2.7/site-packages', 
u'/usr/lib64/python2.7/site-packages', u'/usr/lib/python2.7/site-packages', u'/usr/lib64/python2.7/dist-packages', u'/usr/lib/python2.7/dist-packages'], 'real_prefix': None, 'distutils_install': {u'purelib': u'lib/python2.7/site-packages', u'headers': u'include/python2.7/UNKNOWN', 
u'platlib': u'lib64/python2.7/site-packages', u'data': u'', u'scripts': u'bin'}, 'architecture': 64, 'original_executable': u'/usr/bin/python', 'os': u'posix', 'system_executable': u'/usr/bin/python'})
mhart commented 4 years ago

I'm not sure what you mean by virtualenv 20.x.x – build-python2.7 comes with virtualenv 16.7.9

This works for me:

docker run --rm -it lambci/lambda:build-python2.7 bash

And then:

virtualenv mypython
source mypython/bin/activate
pip install awscli
mhart commented 4 years ago

I'm not sure if you encountered an image where it was updated, or if you updated it yourself, but I've ensured that the build-python2.7 image is locked to virtualenv < 20.0.0 now. virtualenv in build-python2.7 should work fine now 👍