Search code examples
pythoninstallationpippypyweb3py

PYPY venv pip ERROR: ModuleNotFoundError: No module named 'pip._vendor.six'


I created venv according to pypy install site:

System-Product-Name:~# virtualenv -p "/home/x/pypy3.8-v7.3.7-linux64/bin/pypy" ve

created virtual environment PyPy3.8.12.final.0-64 in 102ms 

Success. Following step 2 (activation) worked as well... and using:

$python

opens pypy same as using ./pypy, which is as intended.

However after this point nothing really works, it's an error fiesta and I can't install packages nowhere as well, nothing works, might be that the installation is damaged but I would love to understand what the nature of the most prevalent of the errors:

what I’m trying to run on PYPY requires web3:

  (ve) root@x-System-Product-Name:/home/x/Desktop# python ll.py

Traceback (most recent call last):  File "ll.py", line 4, in <module>    
from web3 import 
Web3ModuleNotFoundError: No module named 'web3'(ve)

when I try to install it even though it’s there - it’s like undetected, or I’m doing something wrong… anyways, I try to install web3 in various console directories:

ModuleNotFoundError: No module named 'pip._vendor.six'

This error pops up, sometimes after long, web3-unrelated Traceback logs.

I tried installing this peculiar package and it gives a long traceback and then:

ModuleNotFoundError: No module named 'pip._vendor.six'

Same error. Basically everything PYPY related is stuck in an error loop with this vendor_six module, whenever I try to install something from pip. Some of the similar problems on the Internet (never found any PYPY problem with this though) suggest pip installation to be damaged.

  1. What is the reason and nature of this error?
  2. How can I solve it? I’ve never been a fan of reinstalling anything as it doesn’t incentivize thorough understanding of the underlying issues, however, I might have to?

Edit: On GitHub there seems to be a long thread about that issue, here: https://github.com/pypa/pipenv/issues/4804 ;however contributors haven’t reached a final conclusion, some - found individually working solutions:

  • some said installing pyenv helps
  • or pipenv
  • or having proper versions of those, either younger versions, or corresponding
  • some said it’s a purely Debian related issue impossible to replicate on MacOS

I tried installing pyenv and pipenv, running venv after, still outputs the same error though…


Solution

  • Please use the venv module provided with python

    pypy3 -m venv /tmp/venv
    source /tmp/venv/bin/activate
    

    The version of virtualenv provided with your linux distro does not know about pypy3.8, since pypy3.8 changed the file layout and that version of virtualenv shipped long before pypy3.8 was released.