pypa / pipenv

Python Development Workflow for Humans.
https://pipenv.pypa.io
MIT License
24.86k stars 1.86k forks source link

pipenv lock fails with ModuleNotFoundError: No module named 'observable' #4721

Closed jonathanclark closed 3 years ago

jonathanclark commented 3 years ago

Issue description

Expected result

Updated Pipfile.lock (xxxxxx)!

Actual result

pipenv lock Creating a virtualenv for this project... Pipfile: C:\Users\jonathan.OUTC\Documents\Python Scripts\covid\Pipfile Using C:/Users/jonathan.OUTC/AppData/Local/Programs/Python/Python38-32/python.exe (3.8.10) to create virtualenv... [ ] Creating virtual environment...created virtual environment CPython3.8.10.final.0-32 in 453ms creator CPython3Windows(dest=C:\Users\jonathan.OUTC.virtualenvs\covid-nLfQlDfY, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\jonathan.OUTC\AppData\Local\pypa\virtualenv) added seed packages: pip==21.1.2, setuptools==57.0.0, wheel==0.36.2 activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

Successfully created virtual environment! Virtualenv location: C:\Users\jonathan.OUTC.virtualenvs\covid-nLfQlDfY Locking [dev-packages] dependencies... Locking [packages] dependencies... Locking...Building requirements... Resolving dependencies... Locking Failed! ERROR:pip.subprocessor:Command errored out with exit status 1: command: 'C:\Users\jonathan.OUTC.virtualenvs\covid-nLfQlDfY\Scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\jonathan.OUTC\AppData\Local\Temp\pip-resolver-04p89fbj\message\setup.py'"'"'; file='"'"'C:\Users\jonathan.OUTC\AppData\Local\Temp\pip-resolver-04p89fbj\message\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\jonathan.OUTC\AppData\Local\Temp\pip-resolver-04p89fbj\message\pip-egg-info' cwd: C:\Users\jonathan.OUTC\AppData\Local\Temp\pip-resolver-04p89fbj\message\ Complete output (7 lines): Traceback (most recent call last): File "", line 1, in File "C:\Users\jonathan.OUTC\AppData\Local\Temp\pip-resolver-04p89fbj\message\setup.py", line 6, in import message File "C:\Users\jonathan.OUTC\AppData\Local\Temp\pip-resolver-04p89fbj\message\message__init__.py", line 5, in import observable ModuleNotFoundError: No module named 'observable'

Traceback (most recent call last): File "C:/Users/jonathan.OUTC/AppData/Roaming/Python/Python38/site-packages/pipenv/resolver.py", line 764, in main() File "C:/Users/jonathan.OUTC/AppData/Roaming/Python/Python38/site-packages/pipenv/resolver.py", line 758, in main _main(parsed.pre, parsed.clear, parsed.verbose, parsed.system, parsed.write, File "C:/Users/jonathan.OUTC/AppData/Roaming/Python/Python38/site-packages/pipenv/resolver.py", line 741, in _main resolve_packages(pre, clear, verbose, system, write, requirements_dir, packages, dev) File "C:/Users/jonathan.OUTC/AppData/Roaming/Python/Python38/site-packages/pipenv/resolver.py", line 702, in resolve_packages results, resolver = resolve( File "C:/Users/jonathan.OUTC/AppData/Roaming/Python/Python38/site-packages/pipenv/resolver.py", line 684, in resolve return resolve_deps( File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\utils.py", line 1397, in resolve_deps results, hashes, markers_lookup, resolver, skipped = actually_resolve_deps( File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\utils.py", line 1110, in actually_resolve_deps resolver.resolve() File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\utils.py", line 825, in resolve results = self.resolver.resolve(max_rounds=environments.PIPENV_MAX_ROUNDS) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\piptools\resolver.py", line 180, in resolve has_changed, best_matches = self._resolve_one_round() File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\piptools\resolver.py", line 268, in _resolve_one_round their_constraints.extend(self._iter_dependencies(best_match)) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\piptools\resolver.py", line 383, in _iter_dependencies dependencies = self.repository.get_dependencies(ireq) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\piptools\repositories\pypi.py", line 229, in get_dependencies legacy_results = self.get_legacy_dependencies(ireq) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\piptools\repositories\pypi.py", line 350, in get_legacy_dependencies results, ireq = self.resolve_reqs( File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\piptools\repositories\pypi.py", line 306, in resolve_reqs results = resolver._resolve_one(reqset, ireq) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\legacy_resolve.py", line 339, in _resolve_one abstract_dist = self._get_abstract_dist_for(req_to_install) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\legacy_resolve.py", line 287, in _get_abstract_dist_for abstract_dist = self.preparer.prepare_linked_requirement(req) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\operations\prepare.py", line 508, in prepare_linked_requirement abstract_dist = _get_prepared_distribution( File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\operations\prepare.py", line 95, in _get_prepared_distribution abstract_dist.prepare_distribution_metadata(finder, build_isolation) File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\distributions\sdist.py", line 40, in prepare_distribution_metadata self.req.prepare_metadata() File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\req\req_install.py", line 564, in prepare_metadata self.metadata_directory = self._generate_metadata() File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\req\req_install.py", line 538, in _generate_metadata return generate_metadata_legacy( File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\operations\build\metadata_legacy.py", line 115, in generate_metadata call_subprocess( File "c:\users\jonathan.outc\appdata\roaming\python\python38\site-packages\pipenv\patched\notpip_internal\utils\subprocess.py", line 242, in call_subprocess raise InstallationError(exc_msg) pipenv.patched.notpip._internal.exceptions.InstallationError: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Steps to replicate

Running on W10. Install python for user i.e. not system using https://www.python.org/ftp/python/3.8.10/python-3.8.10.exe. Open command shell, switch to project directory and run pip install --user pipenv Run pipenv lock


$ pipenv --support Pipenv version: `'2021.5.29'` Pipenv location: `'C:\\Users\\jonathan.OUTC\\AppData\\Roaming\\Python\\Python38\\site-packages\\pipenv'` Python location: `'c:\\users\\jonathan.outc\\appdata\\local\\programs\\python\\python38-32\\python.exe'` Python installations found: - `3.8.10`: `C:\Users\jonathan.OUTC\AppData\Local\Programs\Python\Python38-32\python.exe` PEP 508 Information: ``` {'implementation_name': 'cpython', 'implementation_version': '3.8.10', 'os_name': 'nt', 'platform_machine': 'AMD64', 'platform_python_implementation': 'CPython', 'platform_release': '10', 'platform_system': 'Windows', 'platform_version': '10.0.19042', 'python_full_version': '3.8.10', 'python_version': '3.8', 'sys_platform': 'win32'} ``` System environment variables: - `ALLUSERSPROFILE` - `APPDATA` - `CLIENTNAME` - `COMMONPROGRAMFILES` - `COMMONPROGRAMFILES(X86)` - `COMMONPROGRAMW6432` - `COMPUTERNAME` - `COMSPEC` - `DRIVERDATA` - `HOMEDRIVE` - `HOMEPATH` - `LOCALAPPDATA` - `LOGONSERVER` - `NUMBER_OF_PROCESSORS` - `ONEDRIVE` - `ONLINESERVICES` - `OS` - `PATH` - `PATHEXT` - `PLATFORMCODE` - `PROCESSOR_ARCHITECTURE` - `PROCESSOR_ARCHITEW6432` - `PROCESSOR_IDENTIFIER` - `PROCESSOR_LEVEL` - `PROCESSOR_REVISION` - `PROGRAMDATA` - `PROGRAMFILES` - `PROGRAMFILES(X86)` - `PROGRAMW6432` - `PROMPT` - `PSMODULEPATH` - `PUBLIC` - `REGIONCODE` - `SESSIONNAME` - `SYSTEMDRIVE` - `SYSTEMROOT` - `TEMP` - `TMP` - `USERDNSDOMAIN` - `USERDOMAIN` - `USERDOMAIN_ROAMINGPROFILE` - `USERNAME` - `USERPROFILE` - `WINDIR` - `PIP_DISABLE_PIP_VERSION_CHECK` - `PYTHONDONTWRITEBYTECODE` - `PIP_SHIMS_BASE_MODULE` - `PIP_PYTHON_PATH` - `PYTHONFINDER_IGNORE_UNSUPPORTED` PipenvÔÇôspecific environment variables: DebugÔÇôspecific environment variables: - `PATH`: `C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Sage SData\;C:\Users\jonathan.OUTC\AppData\Local\Programs\Python\Python38-32\Scripts\;C:\Users\jonathan.OUTC\AppData\Local\Programs\Python\Python38-32\;C:\Users\jonathan.OUTC\AppData\Local\Programs\Python\Launcher\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Sage SData\;C:\Users\jonathan.OUTC\_vim;C:\Users\jonathan.OUTC\Software\Vim\vim81;C:\Users\jonathan.OUTC\AppData\Local\Microsoft\WindowsApps;C:\Users\jonathan.OUTC\Software\Mercurial;C:\Users\jonathan.OUTC\AppData\Local\Programs\Git\cmd;C:\Program Files (x86)\Microsoft Office\Office14;C:\Users\jonathan.OUTC\AppData\Local\Microsoft\WindowsApps;C:\Users\jonathan.OUTC\AppData\Roaming\Python\Python38\Scripts;` --------------------------- Contents of `Pipfile` ('C:\\Users\\jonathan.OUTC\\Documents\\Python Scripts\\covid\\Pipfile'): ```toml [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] ipython = "*" pyodbc = "*" message = "*" DateTime = "*" Gooey = "*" observable = "*" [dev-packages] [requires] python_version = "3.8" ```
jonathanclark commented 3 years ago

Turned out there was an old requirement in the Pipfile for a package called message which I was not actually using. Removing that solved my problem.