Проблеми з використанням zsh з Catalina, Python / Python3, pip / pip3, PATH, zshrc тощо


14

Я нещодавно оновив до Каталіни і zsh за замовчуванням. Я, ймовірно, переплутав шляхи під час переходу, і наразі я намагаюся розібрати місця Python3.7, pip3, командного рядка PATH та мій файл zshrc.

Схоже, є потенційно зайві файли, що містяться в / usr / bin, / usr / local / bin, / usr / local / Cellar / python та /Users/ evidenceuserSense/.local/bin

Нижче наведено відтворення команд:

$ which python3
/usr/bin/python3
$ which python
/usr/bin/python
$ which pip
pip not found
$ which pip3
/usr/bin/pip3
$ pip3 -V
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/usr/bin/pip3", line 10, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable
$ cat ~/.zshrc
export PATH=$PATH:/usr/local/bin:/usr/bin
$ echo $PATH
/Users/[user]/.local/bin:/bin:/usr/bin:/usr/local/bin:/Users/[user]/anaconda3/bin:/Users/[user]/anaconda3/bin:/Users/[user]/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/[user]/anaconda3:/Library/TeX/texbin:/usr/local/share/dotnet:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin:/usr/local/bin:/usr/bin:/usr/local/bin:/usr/bin

Хтось може допомогти мені усунути все це? З того, що я розумію: мені потрібен лише Python2.x для ОС; з Catalina тепер я повинен зберігати Python3.x лише в межах мого користувача (не в / usr)? pip3 автоматично встановлюється з Python3.x (хоча моя повертає помилку), а також повинен бути встановлений у моєму Користувачі, а не в / usr? Також мій $ PATH все ще містить залишки, наприклад, Анаконда, яку я видалив з того часу ... як / де я оновлюю свій $ PATH? У файлі zshrc?


Здається, що незалежно від редагувань (наприклад, я видалив анаконду з файлу / etc / paths, тому що я більше не використовую її), який python та python3 вказують на / usr / bin замість іншого місця.
ОРЗ

1
which -aпокаже всі можливі шляхи, які відповідають, у тому порядку, в якому вони відображаються PATH. Ця інформація може виявитися корисною.
чепнер

У мене виникає та ж проблема після оновлення pipвикористання sudo pip3 install ---upgrade pipна Каталіні. Однак за допомогою python3 -m pipsitll працює. Ви можете використовувати це як спосіб вирішення.
Jonas Drotleff

Відповіді:


8

Я випробував це питання після чистої установки Каталіни. Я також використовую zsh.

Що я зробив не так:

Я встановив нову версію pip, використовуючи:

sudo pip3 install --upgrade pip

як підказано. Однак це не буде працювати з Apple python, оскільки шлях не буде правильним. Натомість sudo -Hслід використовувати.

Як я зафіксував піп:

На щастя, python3 -m pipвсе ще працює як вирішення pip3.

Встановіть старішу версію pip(у моєму випадку 19.3.0було достатньо):

sudo -H python3 -m pip install --upgrade pip==19.3.0

а потім знову оновіть:

sudo -H python3 -m pip install --upgrade pip

Я сподіваюся, що це також вирішить ваше питання.


0

У мене було те саме питання, що і у вас. Вирішено с

brew install python3

1
Точні налаштування та помилки, як OP, не вирішені цим.
Мелька

0

Я вирішив проблему, видаливши ~ / Library / Python.


Будь ласка, коли ви відповідаєте на запитання або додаєте коментар, переконайтеся, що він у такому форматі, який зрозумілий іншим людям та має сенс, якщо приходить новий користувач.
ashwin agrawal

0

Я також працював над цим питанням на новій установці MacOS Catalina із терміном Kitty emulator + ohmyzsh.

Читання цього запитання призвело до того, що я .zshrcвсе-таки прокоментував рядок

\#export PATH=$HOME/bin:/usr/local/bin:$PATH

Я видалив коментар, який додав $ HOME / бін до ПАТ

~/.zshrc

export PATH=$HOME/bin:/usr/local/bin:$PATH

Ця зміна дозволила мені успішно запустити pip3команду без помилки простеження.


0

У мене була схожа проблема. Можна використовувати

rehash

у вашому командному рядку, щоб оновити свої шляхи. Це вирішило для мене питання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.