-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Issue
Originally, when I ran virtualenv test
this afternoon I received the error ImportError: No module named via_app_data.via_app_data
but after reading through #1875 I decided to uninstall and reinstall virtualenv
with pip
. Now, when I run virtualenv test
I get ImportError: cannot import name ensure_file_on_disk
with no other output. Running pip install virtualenv -U
will not change the output of virtualenv test
. I have even run pip install git+https://github.com/pypa/virtualenv.git@master
but the import error persists.
I did some investigation of my own and saw that a pushed commit to this repository's master branch just 5 days ago included both a removal of an import statement including via_app_data.via_app_data
and another line importing ensure_file_on_disk
. Since version 20.0.25 was released after this commit and my version is up-to-date, I am at a loss as to why virtualenv test
fails in this way.
Environment
- OS: Ubuntu 18.04 (Debian)
pip list
of the host python wherevirtualenv
is installed:
Package Version
---------------------------------- ---------------------
agate 1.6.1
agate-dbf 0.2.1
agate-excel 0.2.3
agate-sql 0.5.4
antlr 2.7.5rc1
appdirs 1.4.4
arrow 0.12.1
asn1crypto 0.24.0
attrs 17.4.0
Babel 2.8.0
backports.functools-lru-cache 1.5
backports.shutil-get-terminal-size 1.0.0
beautifulsoup4 4.7.1
blessings 1.7
blis 0.2.4
callable-pip 1.0.0
certifi 2019.6.16
chardet 3.0.4
configparser 4.0.2
contextlib2 0.6.0.post1
cryptography 2.1.4
cssselect 1.0.3
csvkit 1.0.4
cvxopt 1.1.9
cycler 0.10.0
cymem 2.0.2
cytoolz 0.9.0.1
dbfread 2.0.7
decorator 4.4.1
dill 0.3.0
distlib 0.3.0
docopt 0.6.2
edn-format 0.6.3
entrypoints 0.3
enum34 1.1.6
et-xmlfile 1.0.1
filelock 3.0.12
flake8 3.7.8
funcsigs 1.0.2
functools32 3.2.3.post2
future 0.18.2
fuzzywuzzy 0.17.0
gmpy 1.17
google-api-python-client 1.4.2
html5lib 0.999999999
httplib2 0.15.0
idna 2.8
importlib-metadata 1.6.1
importlib-resources 2.0.1
inquirer 2.6.3
invoke 1.2.0
ipaddress 1.0.17
ipython 5.5.0
ipython-genutils 0.2.0
isodate 0.6.0
jdcal 1.4.1
joblib 0.11
keyring 10.6.0
keyrings.alt 3.0
leather 0.3.3
linecache2 1.0.0
lxml 4.3.4
matplotlib 2.1.1
mccabe 0.6.1
mercurial 4.5.3
mock 2.0.0
mpmath 1.0.0
murmurhash 0.28.0
mwparserfromhell 0.5.1
namedentities 1.9.4
networkx 2.2
nltk 3.4.4
nose 1.3.7
numexpr 2.6.4
numpy 1.16.4
oauth2client 4.1.3
olefile 0.45.1
openpyxl 2.6.4
pandas 0.22.0
parsedatetime 2.5
pathlib 1.0.1
pathlib2 2.3.5
patsy 0.4.1+dev
pbr 5.4.5
peewee 3.9.6
pexpect 4.2.1
pickleshare 0.7.4
Pillow 5.1.0
pip 20.1.1
plac 0.9.6
pluggy 0.6.0
ply 3.11
preshed 2.0.1
prompt-toolkit 1.0.15
psutil 5.4.2
psycopg2 2.8.3
py 1.5.2
pyasn1 0.4.8
pyasn1-modules 0.2.7
pycodestyle 2.5.0
pycrypto 2.6.1
pyflakes 2.1.1
pyglet 1.3.0
Pygments 2.2.0
pygobject 3.26.1
pyparsing 2.4.6
pyRFC3339 1.1
pystart 0.1.13
pytest 3.3.2
python-dateutil 2.8.0
python-editor 1.0.4
python-Levenshtein 0.12.0
python-slugify 4.0.0
pytimeparse 1.1.8
pytz 2019.3
pyxdg 0.25
rdflib 4.2.2
readchar 2.0.1
redis 3.2.1
regex 2019.6.8
requests 2.22.0
rsa 4.0
scandir 1.10.0
scipy 0.19.1
SecretStorage 2.3.1
semantic-version 2.8.4
setuptools 44.1.0
simplegeneric 0.8.1
simplejson 3.13.2
singledispatch 3.4.0.3
six 1.15.0
soupsieve 1.9.5
spacy 2.1.6
SPARQLWrapper 1.8.5
SQLAlchemy 1.3.12
sqlitedict 1.6.0
srsly 0.2.0
statsmodels 0.8.0
stevedore 1.32.0
subprocess32 3.2.7
sympy 1.1.1
tables 3.4.2
termcolor 1.1.0
text-unidecode 1.3
thinc 7.0.8
toolz 0.10.0
tqdm 4.43.0
traceback2 1.4.0
traitlets 4.3.2
typing 3.7.4.1
ujson 1.35
Unidecode 1.1.1
unittest2 1.1.0
uritemplate 3.0.1
urllib3 1.25.3
v 0.0.0
validate-email 1.3
virtualenv 20.0.26.dev1+g02b197e
virtualenv-clone 0.5.3
virtualenvwrapper 4.8.4
wasabi 0.4.2
wcwidth 0.1.7
webencodings 0.5
wheel 0.24.0
Wikidata 0.6.1
wikiextractor 0.1
wikipediabase 0.1.0
wikiscout 0.1.0
wordnet 0.0.1b2
wrapt 1.11.2
xlrd 1.2.0
xlwt 0.7.5
xmltodict 0.10.1
zipp 1.2.0
Output of the virtual environment creation
Make sure to run the creation with -vvv --with-traceback
:
$ virtualenv test -vvv --with-traceback
63 setup logging to NOTSET [DEBUG report:42]
126 find interpreter for spec PythonSpec(path=/usr/bin/python) [INFO builtin:44]
126 proposed PythonInfo({'base_exec_prefix': None, 'system_stdlib': u'/usr/lib/python2.7', 'sysconfig': {u'makefile_filename': u'/usr/lib/python2.7/config-x86_64-linux-gnu/Makefile'}, '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.17 (default, Apr 15 2020, 17:20:14) \n[GCC 7.5.0]', 'sysconfig_paths': {u'platstdlib': u'{platbase}/lib/python{py_version_short}', u'platlib': u'{platbase}/local/lib/python{py_version_short}/dist-packages', u'purelib': u'{base}/local/lib/python{py_version_short}/dist-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, 'system_stdlib_platform': u'/usr/lib/python2.7', 'file_system_encoding': u'UTF-8', 'version_info': VersionInfo(major=2, minor=7, micro=17, releaselevel=u'final', serial=0), 'sysconfig_vars': {u'base': u'/usr', u'platbase': u'/usr', u'PYTHONFRAMEWORK': u'', u'py_version_short': u'2.7'}, 'path': [u'/usr/local/bin', u'/usr/lib/python2.7', u'/usr/lib/python2.7/plat-x86_64-linux-gnu', u'/usr/lib/python2.7/lib-tk', u'/usr/lib/python2.7/lib-old', u'/usr/lib/python2.7/lib-dynload', u'/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages', u'/usr/local/lib/python2.7/dist-packages', u'/usr/local/lib/python2.7/dist-packages/wikiscout-0.1.0-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/wordnet-0.0.1b2-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/Wikidata-0.6.1-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/wikiextractor-0.1-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/wikipediabase-0.1.0-py2.7.egg', u'/usr/lib/python2.7/dist-packages'], 'max_size': 9223372036854775807, 'has_venv': False, 'real_prefix': None, 'distutils_install': {u'purelib': u'lib/python2.7/site-packages', u'headers': u'include/python2.7/UNKNOWN', u'platlib': u'lib/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'}) [INFO builtin:50]
126 accepted PythonInfo({'base_exec_prefix': None, 'system_stdlib': u'/usr/lib/python2.7', 'sysconfig': {u'makefile_filename': u'/usr/lib/python2.7/config-x86_64-linux-gnu/Makefile'}, '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.17 (default, Apr 15 2020, 17:20:14) \n[GCC 7.5.0]', 'sysconfig_paths': {u'platstdlib': u'{platbase}/lib/python{py_version_short}', u'platlib': u'{platbase}/local/lib/python{py_version_short}/dist-packages', u'purelib': u'{base}/local/lib/python{py_version_short}/dist-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, 'system_stdlib_platform': u'/usr/lib/python2.7', 'file_system_encoding': u'UTF-8', 'version_info': VersionInfo(major=2, minor=7, micro=17, releaselevel=u'final', serial=0), 'sysconfig_vars': {u'base': u'/usr', u'platbase': u'/usr', u'PYTHONFRAMEWORK': u'', u'py_version_short': u'2.7'}, 'path': [u'/usr/local/bin', u'/usr/lib/python2.7', u'/usr/lib/python2.7/plat-x86_64-linux-gnu', u'/usr/lib/python2.7/lib-tk', u'/usr/lib/python2.7/lib-old', u'/usr/lib/python2.7/lib-dynload', u'/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages', u'/usr/local/lib/python2.7/dist-packages', u'/usr/local/lib/python2.7/dist-packages/wikiscout-0.1.0-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/wordnet-0.0.1b2-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/Wikidata-0.6.1-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/wikiextractor-0.1-py2.7.egg', u'/usr/local/lib/python2.7/dist-packages/wikipediabase-0.1.0-py2.7.egg', u'/usr/lib/python2.7/dist-packages'], 'max_size': 9223372036854775807, 'has_venv': False, 'real_prefix': None, 'distutils_install': {u'purelib': u'lib/python2.7/site-packages', u'headers': u'include/python2.7/UNKNOWN', u'platlib': u'lib/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'}) [DEBUG builtin:52]
128 filesystem is case-sensitive [DEBUG info:28]
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 11, in <module>
sys.exit(run_with_catch())
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/__main__.py", line 63, in run_with_catch
run(args, options)
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/__main__.py", line 17, in run
session = cli_run(args, options)
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/__init__.py", line 24, in cli_run
session = session_via_cli(args, options)
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/__init__.py", line 32, in session_via_cli
parser, elements = build_parser(args, options)
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/__init__.py", line 60, in build_parser
SeederSelector(interpreter, parser),
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/plugin/seeders.py", line 8, in __init__
possible = self.options("virtualenv.seed")
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/plugin/base.py", line 39, in options
cls._OPTIONS = cls.entry_points_for(key)
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/plugin/base.py", line 18, in entry_points_for
return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {}))
File "/usr/lib/python2.7/collections.py", line 69, in __init__
self.__update(*args, **kwds)
File "/usr/lib/python2.7/_abcoll.py", line 571, in update
for key, value in other:
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/run/plugin/base.py", line 18, in <genexpr>
return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {}))
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/importlib_metadata/__init__.py", line 96, in load
module = import_module(match.group('module'))
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/seed/via_app_data/via_app_data.py", line 11, in <module>
from virtualenv.seed.embed.wheels.acquire import WheelDownloadFail, get_wheels
File "/afs/csail.mit.edu/u/j/jecummin/.local/lib/python2.7/site-packages/virtualenv/seed/embed/wheels/acquire.py", line 17, in <module>
from virtualenv.util.zipapp import ensure_file_on_disk
ImportError: cannot import name ensure_file_on_disk