Как установить пакет Python в виртуальной среде с Pip (OS X) - PullRequest
0 голосов
/ 11 февраля 2019

Редактировать: Я собираюсь закрыть этот вопрос, поскольку причина, по которой это происходит, отличается от моего первоначального предположения, и яснее задать вопрос заново:

Пипсустанавливает пакеты в неправильный каталог с помощью virtualenv

Принятый ответ не дает прямого ответа на исходный вопрос, но является очень полезным обзором.


Основываясь на обсуждении ниже, проблема в том, что даже после

$ source ~/PycharmProjects/Practice/venv/bin/activate 
$ pip install numpy 

numpy установлен в /usr/local/lib/python2.7/site-packages
Что может быть причиной этого?

Оригинал:

Использование Python в OS X через Homebrew:

Я пытался большую часть дня разобраться с этим, но я либо получаю ошибку must supply either home or prefix/exec-prefix -- not both, либо пакет, который я пытаюсьустановка идет совсем не туда:

$ pip3 --version
pip 18.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
$ cd venv
$ pip3 install numpy
..... [snip with following error:]
"must supply either home or prefix/exec-prefix -- not both")

Использование этого подсказка

$ pip3 install numpy -t . 

Тогда я получаю новую ошибку,

`Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/.../pip-install-0fvveq3v/package/'

Поиск по SO дает различные возможности, включая pip install setuptools .но pip install выдает вышеуказанную ошибку или устанавливает не в том месте.то есть решение включает в себя то, что в первую очередь вызывает ошибку.

Я пытался использовать установщик Python.org, но он вообще не устанавливал pip.(Пользовательский установщик показал выбранную опцию, но с нулевым размером).

1 Ответ

0 голосов
/ 11 февраля 2019

В этом замечательном учебнике доступен вводный обзор .Вот хорошее резюме с более подробной информацией.Но, если вы переименовали или переместили виртуальный каталог env после его создания, он может сломаться.Создать новый с нуля: $ cd ~/PycharmProjects; python3 -mvenv newenv;Активировать: $ source newenv/bin/activate;Установите что-нибудь: $ pip install colorama (аналогично pip3 install, только если активирован venv);Проверить: ls ~/PycharmProjects/newenv/lib/python3*/site-packages;Деактивируйте: $ deactivate

Тогда вы можете попробовать это решение для Pycharm: как связать виртуальную среду с проектом Python в Pycharm .PyCharm действительно поставляется с в комплекте с virtualenv, который можно настроить, пожалуйста, обратитесь к ресурсам, специфичным для Pycharm: создание виртуальных сред и установка пакетов в Pycharm.

Если вы установили основной поток PyPI virtualenv , по умолчанию он создаст новые среды с интерпретатором python, который virtualenv был установлен с .Но можно указать альтернативного интерпретатора Python при создании нового env: $ virtualenv -p python3.7 newenvname

Что касается ошибки DistutilsOptionError: must supply either home or prefix - пожалуйста, отметьте this и это для решения.Доморощенные отображения между python и pip описаны здесь .Обычный pip install --user - это отключенный в самодельном Python, но есть обходные пути.Система MacOS Python не обеспечивает pip, но может быть установлен, переустановлен или обновлен для любой конкретной версии Python вручную .Оригинальные несваренные установщики также доступны для всех версий Python: https://www.python.org/downloads/mac-osx/

По умолчанию нет pip.conf, но его можно создать вручную, чтобы настроить вещи.Все возможные местоположения pip.conf (для каждого пользователя, для каждого из них, и для глобального / системного, и как они перекрывают друг друга) перечислены здесь .Если кто-то сталкивается с проблемой, он может использовать pip config list команду , чтобы просмотреть свою активную конфигурацию, или locate pip.conf и find ее.

Наконец, вы можете убедиться, что вы нене использую pip против macOS системного Python.Команды оболочки, такие как $ brew info python, which pip, which pip3, pip3 -V, which python3, могут помочь вам увидеть, что вы на самом деле используете.Так как $ PATH для macOS по умолчанию был /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin, стандартные двоичные файлы macOS (включая python) могут иметь приоритет над некоторыми установками homebrew (включая python).Если это так, пользовательский PATH может быть экспортирован через ~/.bashrc, если требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...