Issue description
Recent versions of pipenv no longer work with pypy3.
Expected result
Expected pipenv to work.
Actual result
❯ PYENV_VERSION=pypy3.5-6.0.0 pyenv exec pipenv --verbose
Traceback (most recent call last):
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/bin/pipenv", line 7, in <module>
from pipenv import cli
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/__init__.py", line 47, in <module>
from .cli import cli
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/cli/__init__.py", line 3, in <module>
from .command import cli
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/cli/command.py", line 19, in <module>
from .options import (
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/cli/options.py", line 11, in <module>
from .. import environments
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/environments.py", line 7, in <module>
from ._compat import fix_utf8
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/_compat.py", line 98, in <module>
OUT_ENCODING, ERR_ENCODING = force_encoding()
File "/Users/ob/.pyenv/versions/pypy3.5-6.0.0/site-packages/pipenv/_compat.py", line 68, in force_encoding
from ctypes import pythonapi, py_object, c_char_p
ImportError: cannot import name 'pythonapi'
Steps to replicate
Simply install pipenv with PyPy3, then try to run any pipenv command.
pipenv --support won't work either.
PyPy doesn't support ctypes.pythonapi, but the root cause of the issue is that it shouldn't even try to import this module in the first place. I've investigated a bit and it looks with PyPy3, sys.stdout.encoding returns "utf8" instead of "utf-8". I'm unsure whether this is a PyPy bug or not, but since pipenv used to work fine with PyPy3 prior to (I think) #3096, can we relax the condition on this line to allow for "utf8" as well as "utf-8"?
Issue description
Recent versions of pipenv no longer work with pypy3.
Expected result
Expected pipenv to work.
Actual result
Steps to replicate
Simply install pipenv with PyPy3, then try to run any pipenv command.
pipenv --supportwon't work either.PyPy doesn't support
ctypes.pythonapi, but the root cause of the issue is that it shouldn't even try to import this module in the first place. I've investigated a bit and it looks with PyPy3,sys.stdout.encodingreturns"utf8"instead of"utf-8". I'm unsure whether this is a PyPy bug or not, but since pipenv used to work fine with PyPy3 prior to (I think) #3096, can we relax the condition on this line to allow for"utf8"as well as"utf-8"?