VirtualEnv / Pip пытается установить пакеты глобально
Редактировать № 2 Решение найдено; смотри ниже.
я пишу небольшое приложение на Flask, используя VirtualEnv. Это далеко не первый раз, когда яЯ сделал это, но на этот раз и за последние два раза яя пыталсяМы столкнулись с той же проблемой. Когда я. flask/bin/activate
и попробуйте установить пакет -pip install flup
Например, он продолжает устанавливаться глобально, а не в VirtualEnv. Странная вещь, это происходит только после того, как яdeactivate
и это делает это непоследовательным в этом.
Мне кажется, что я могу установить все, что мне нужно, если я делаю все сразу, и даже иногда послеdeactivate
, но через определенный промежуток времениперестает работать и он начинает пытаться установить в мой глобальный Pythonsite-packages
, (Естественно, этоs также спрашивает разрешения, когда это делает это. Прежде чем я понял, что происходит, я попытался заставить егоsudo
думая яслучайно натолкнулся на себяsudo virtualenv flask
или что-то, но нет, это 'становится глобальным по какой-то другой причине.) Я
Я не делаю ничего смешного, как с помощью--system-site-packages
аргумент, и я не имелЯ ничего не изменил в моей конфигурации VirtualEnv, прежде чем это начало происходить. В первый раз, когда это случилось, я записал это на счастливую случайность. Теперь это'становится серьезно раздражать, потому что яя не в настроении удалить все и переустановить каждый раз, или молиться, чтобы яЯ подумаю обо всем, что мне нужно, в скрипте начальной загрузки.
не включая сообщения об ошибках, потому что они нет (или нет) кажется особенно ценным; Это'простоrequirement already satisfied
кричать на меня снова и снова.
Редактировать # 1 яЯ немного размышляю над проблемой, но я все еще неу меня нет решения. Я создал новый проект Flask в том же каталоге,cd
включил его, активировал его VirtualEnv и т. д., затем запустилwhich pip
, Это был новый VirtualEnv 'с пип - правильный пип. Я деактивировал,cd
в свой оригинальный проект, активировал VirtualEnv и запустилwhich pip
, Выкладывай другой проектс - новыйс - пипс. яrm -r
-ед новый тестовый проект, вернулся к оригиналу, побежалwhich pip
снова и выплюнул/usr/local/bin/pip
, Ой. ХОРОШО.
Правка № 2: Решение Возможно, я не выяснил точную причину, но я нашел решение.bin/activate
а такжеbin/pip
Сами сценарии были изменены каким-то образом, возможно, из-за случайного запуска двух VirtualEnv одновременно (?). Может быть это'Просто совпадение, что это произошло три раза подряд после того, как никогда не случалось раньше. Dunno.I
cat
-edactivate
и, конечно же, на линии 42, был
VIRTUAL_ENV="/Users/chaseries/blueprint/python/flask2/flask"
вместо
VIRTUAL_ENV="/Users/chaseries/blueprint/python/flask/flask"
Я изменил это, побежалwhich pip
снова и получил правильный результат. Попробовал установку, получил трассировку стека, которая привела меня кbin/pip
и обнаружил, что его шебан был неправ. Поменял его на правильный путь, и все работает отлично.