21.3: Breaking editable installation with `No module named pip` error
See original GitHub issueDescription
Our CI is failing due to version 21.3 release, in the pip wheel
subprocess call during installation, with seemingly random packages being the culprit.
E.g.
subprocess.CalledProcessError: Command '['/opt/hostedtoolcache/Python/3.7.12/x64/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpiq0bznxg', '--quiet', 'cryptography<3.5,>=3.4.1']' returned non-zero exit status 1.
Full Log attached below
The specific dependency it fails for seems completely random, in 5 subsequent runs it’s been pathspec
, cryptography
, tabulate
, rdflib
and pyasn1
.
I can reproduce the issue locally as well with Arch Linux, 21.3 fails, 21.2.4 works.
This only happens in editable mode (using -e
flag), without it everything install fine.
Expected behavior
Renku Package to be installed without problem
pip version
21.3
Python version
3.7.8
OS
Arch Linux/Github Actions(Ubuntu)
How to Reproduce
- clone https://github.com/SwissDataScienceCenter/renku-python
- upgrade to pip 21.3
- do
pip install -e .[all]
Output
$ python -m pip install -e .[all]
/home/user/.pyenv/versions/renku-python/lib/python3.7/site-packages/secretstorage/dhcrypto.py:16: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
/home/user/.pyenv/versions/renku-python/lib/python3.7/site-packages/secretstorage/util.py:25: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead
from cryptography.utils import int_from_bytes
Obtaining file:///home/user/DEV/ETH/renku-python
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build editable: started
Getting requirements to build editable: finished with status 'done'
Preparing editable metadata (pyproject.toml): started
Preparing editable metadata (pyproject.toml): finished with status 'done'
Build backend does not support editables, falling back to setup.py egg_info.
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /home/user/.pyenv/versions/renku-python/bin/python -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/user/DEV/ETH/renku-python/setup.py'"'"'; __file__='"'"'/home/user/DEV/ETH/renku-python/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-0jfl5x91
cwd: /home/user/DEV/ETH/renku-python/
Complete output (31 lines):
/home/user/.pyenv/versions/renku-python/bin/python: No module named pip
Traceback (most recent call last):
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/installer.py", line 75, in fetch_build_egg
subprocess.check_call(cmd)
File "/home/user/.pyenv/versions/3.7.8/lib/python3.7/subprocess.py", line 363, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/user/.pyenv/versions/renku-python/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpppr5o_gk', '--quiet', 'zc.relation<1.2,>=1.1']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/user/DEV/ETH/renku-python/setup.py", line 266, in <module>
"Development Status :: 4 - Beta",
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 152, in setup
_install_setup_requires(attrs)
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/__init__.py", line 147, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 809, in fetch_build_eggs
replace_conflicting=True,
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/pkg_resources/__init__.py", line 768, in resolve
replace_conflicting=replace_conflicting
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1051, in best_match
return self.obtain(req, installer)
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1063, in obtain
return installer(requirement)
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/dist.py", line 877, in fetch_build_egg
return fetch_build_egg(self, req)
File "/tmp/pip-build-env-gh6wm4a4/overlay/lib/python3.7/site-packages/setuptools/installer.py", line 77, in fetch_build_egg
raise DistutilsError(str(e)) from e
distutils.errors.DistutilsError: Command '['/home/user/.pyenv/versions/renku-python/bin/python', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpppr5o_gk', '--quiet', 'zc.relation<1.2,>=1.1']' returned non-zero exit status 1.
----------------------------------------
WARNING: Discarding file:///home/user/DEV/ETH/renku-python. Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Code of Conduct
- I agree to follow the PSF Code of Conduct.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:19
- Comments:28 (15 by maintainers)
Top Results From Across the Web
Why am I getting ImportError: No module named pip ' right ...
1) Go to your paython package and rename "python37._pth" to python37._pth.save · 2) curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py · 3) then run python ...
Read more >Changelog - pip documentation v22.3.1
When installing projects with a pyproject.toml in editable mode, and the build backend does not support PEP 660, prepare metadata using ...
Read more >Help testing PEP 660 support in setuptools - Packaging
Hello all, We have been working for some time with the editable installs according to PEP 660 in setuptools, and I think we...
Read more >[solved]python pip no longer installing packages
edit : tl;dr-- manually removing the pip package 'packaging' from my local pip stuff got it to work again. Last edited by shoelesshunter...
Read more >pip 1.0
If you've ever used python setup.py develop, you can do something like that with pip install -e ./ – this works with packages...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I guess you could create a tracking issue on your bug tracker and link to the pip issue there to reduce flooding - people shouldn’t be discouraged from adding context to their commits because of how GH does references.
@zklaus @swhmirror @istankovic Please avoid mentioning issues repeatedly from another repository, these messages are spamming the issue.