pipenv не работает с "ModuleNotFoundError: нет модуля с именем 'pkg_resources'"
После обновления Mac OS до Mojave 10.14.3(возможно, не актуально) все команды pipenv теперь работают (несколько дней назад это работало хорошо).
seohuns-MBP-2:sparse_tutorial seohun$ pipenv --version
Traceback (most recent call last):
File "/usr/local/Cellar/pipenv/2018.11.26/libexec/bin/pipenv", line 6, in <module>
from pkg_resources import load_entry_point
ModuleNotFoundError: No module named 'pkg_resources'
seohuns-MBP-2:sparse_tutorial seohun$ pipenv --python 3.6
Traceback (most recent call last):
File "/usr/local/Cellar/pipenv/2018.11.26/libexec/bin/pipenv", line 6, in <module>
from pkg_resources import load_entry_point
ModuleNotFoundError: No module named 'pkg_resources'
seohuns-MBP-2:sparse_tutorial seohun$ python --version
Python 3.6.8 :: Anaconda custom (64-bit)
Когда я искал об этой проблеме, я обнаружил, что пакет pkg_resources находится в setuptools. Поэтому я обновил setuptools,
seohuns-MBP-2:sparse_tutorial seohun$ pip install --upgrade setuptools
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/d1/6a/4b2fcefd2ea0868810e92d519dacac1ddc64a2e53ba9e3422c3b62b378a6/setuptools-40.8.0-py2.py3-none-any.whl (575kB)
100% |████████████████████████████████| 583kB 12.6MB/s
Installing collected packages: setuptools
Found existing installation: setuptools 40.6.2
Uninstalling setuptools-40.6.2:
Successfully uninstalled setuptools-40.6.2
Successfully installed setuptools-40.8.0
но результат "pipenv --version" такой же.
Поэтому я попытался удалить и установить setuptools,
seohuns-MBP-2:sparse_tutorial seohun$ pip uninstall setuptools
Uninstalling setuptools-40.8.0:
Would remove:
/anaconda3/bin/easy_install
/anaconda3/bin/easy_install-3.6
/anaconda3/lib/python3.6/site-packages/easy_install.py
/anaconda3/lib/python3.6/site-packages/pkg_resources/*
/anaconda3/lib/python3.6/site-packages/setuptools-40.8.0.dist-info/*
/anaconda3/lib/python3.6/site-packages/setuptools/*
Proceed (y/n)? y
Successfully uninstalled setuptools-40.8.0
seohuns-MBP-2:sparse_tutorial seohun$ pip install setuptools
Requirement already satisfied: setuptools in /anaconda3/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg (40.8.0)
почему "Требование уже выполнено: setuptools в /anaconda3/lib/python3.6/site-packages/setuptools-40.8.0-py3.6.egg (40.8.0)", хотя я удалил setuptools? Поэтому я попытался удалить директорию setuptools-40.8.0-py3.6.egg в Finder, но я не могу удалить ее, думаю, она защищена. Я подозреваю, что это может быть причиной ошибки pkg_resources.
Я также попробовал pipenv запустить pip install --force-reinstall setuptools,
Traceback (most recent call last):
File "/usr/local/Cellar/pipenv/2018.11.26/libexec/bin/pipenv", line 6, in <module>
from pkg_resources import load_entry_point
ModuleNotFoundError: No module named 'pkg_resources'
но не работает, потому что все команды pipenv мертвы.
Поэтому я удаляю и устанавливаю pipenv,
seohuns-MBP-2:sparse_tutorial seohun$ pip uninstall pipenv
Uninstalling pipenv-2018.11.26:
Would remove:
/Users/seohun/.local/bin/pipenv
/Users/seohun/.local/bin/pipenv-resolver
/Users/seohun/.local/lib/python3.6/site-packages/pipenv-2018.11.26.dist-info/*
/Users/seohun/.local/lib/python3.6/site-packages/pipenv/*
Proceed (y/n)? y
Successfully uninstalled pipenv-2018.11.26
seohuns-MBP-2:sparse_tutorial seohun$ pip install pipenv
Collecting pipenv
Using cached https://files.pythonhosted.org/packages/13/b4/3ffa55f77161cff9a5220f162670f7c5eb00df52e00939e203f601b0f579/pipenv-2018.11.26-py3-none-any.whl
Requirement already satisfied: virtualenv-clone>=0.2.5 in /Users/seohun/.local/lib/python3.6/site-packages (from pipenv) (0.4.0)
Requirement already satisfied: setuptools>=36.2.1 in /anaconda3/lib/python3.6/site-packages (from pipenv) (40.8.0)
Requirement already satisfied: virtualenv in /Users/seohun/.local/lib/python3.6/site-packages (from pipenv) (16.4.0)
Requirement already satisfied: pip>=9.0.1 in /anaconda3/lib/python3.6/site-packages (from pipenv) (19.0.2)
Requirement already satisfied: certifi in /anaconda3/lib/python3.6/site-packages (from pipenv) (2018.10.15)
Installing collected packages: pipenv
Successfully installed pipenv-2018.11.26
но команды pipenv все еще не работают. И я попробовал "sudo chown seohun easy-install.pth", но
chown: easy-install.pth: No such file or directory
Затем я попытался установить pip ez_setup, установить pip shapely, easy_install -U setuptools, установить pip3 --upgrade virtualenv, следуя ответам stackru, и все они работают нормально, но команда pipenv все еще не работает. Кстати, pipenv подключен к Python3.
seohuns-MBP-2: sparse_tutorial seohun $, какой python /anaconda3/bin/python
Могу ли я попробовать еще что-нибудь?