Используя virtualenv , я запускаю свои проекты с версией Python по умолчанию (2.7). В одном проекте мне нужно использовать Python 3.4.
Я использовал, brew install python3
чтобы установить его на моем Mac. Теперь, как мне создать virtualenv, который использует новую версию?
например, sudo virtualenv envPython3
Если я попробую:
virtualenv -p python3 test
Я получил:
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.4.0_1/Frameworks/Python.framework/Versions/3.4'
New python executable in test/bin/python3.4
Also creating executable in test/bin/python
Failed to import the site module
Traceback (most recent call last):
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/site.py", line 67, in <module>
import os
File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/os.py", line 634, in <module>
from _collections_abc import MutableMapping
ImportError: No module named '_collections_abc'
ERROR: The executable test/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/user/Documents/workspace/test' (should be '/Users/user/Documents/workspace/test/test')
ERROR: virtualenv is not compatible with this system or executable
python
python-3.x
virtualenv
Прометей
источник
источник
Ответы:
просто беги
Обновить после редактирования OP:
В версии virtualenv ОП была ошибка, как описано здесь . Проблема была исправлена запуском:
источник
virtualenv -p $(which python3) envname
virtualenv -p python3 my_virtual_env
,python3
доступен из внешней виртуальной среды также?bin
,lib
,include
,local
иshare
каталоги в корневом каталоге вашего проекта. 2. В терминальном запуске:virtualenv -p python3 .
который инициализирует новый Python3 virtualenv в текущем каталоге.Python 3 имеет встроенную поддержку виртуальных сред - venv . Может быть, лучше использовать это вместо этого. Ссылаясь на документы:
Обновление для Python 3.6 и новее:
Как pawciobiel правильно комментарии ,
pyvenv
является устаревшим , как в Python 3.6 и новый способ:источник
python3 -m venv /path/v3
так как сценарий pyvenv устарел на Python 3.6.python3 -m venv /path/v3
ошибки здесь.Error: Command '['/path/v3/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit
Я что-то пропустил? С этой--without-pip
опцией, по крайней мере, создается venv с правильно активировать / деактивировать скрипты.Я пробовал pyenv, и это очень удобно для переключения версий Python (глобальных, локальных в папке или в virtualenv):
затем установите нужную версию Python:
и просто создайте virtualenv с путем к нужной версии интерпретатора:
Вот и все, проверьте версию:
Есть также плагин для pyenv pyenv-virtualenv, но он как-то не работает для меня.
источник
Установить предпосылки.
Создайте виртуальную среду на основе Python3. При желании включить
--system-site-packages
флаг.Установить в виртуальную среду.
Установите другие требования, используя
pip
менеджер пакетов.При одновременной работе с несколькими проектами Python обычно рекомендуется устанавливать общие пакеты, такие как
pdbpp
глобально, а затем повторно использовать их в virtualenvs.Использование этого метода экономит много времени, затрачиваемого на выборку пакетов и их установку, за исключением использования минимального дискового пространства и пропускной способности сети.
Джанго конкретные инструкции
Если существует много общесистемных пакетов Python, то рекомендуется не использовать
--system-site-packages
флаг, особенно во время разработки, так как я заметил, что это сильно замедляет запуск Django. Я предполагаю, что инициализация среды Django - это сканирование вручную и добавление всех пакетов сайта по системному пути, что может быть причиной. Дажеpython manage.py shell
становится очень медленным.Сказав, что эксперимент, какой вариант работает лучше. Может быть безопасно просто пропустить
--system-site-packages
флаг для проектов Django.источник
apt-get
ноbrew
)работал на меня.
источник
The executable python3 (from --python=python3) does not exist
, что бы вы сделали? Я хотел заварить isntall python3, но не был уверен, что это хорошая идея или моя система запутается в том, какую версию Python я используюВы можете указать конкретную версию Python при создании среды.
Это упоминается в virtualenv.py
В некоторых случаях это должен быть полный путь к исполняемому файлу:
Как
-p
работаетисточник
У меня было то же
ERROR
сообщение. Решение tbrisker не сработало в моем случае. Вместо этого это решило проблему:источник
Это все, что вам нужно для запуска виртуальной среды в python / python3
Сначала, если
virtualenv
не установлено, запуститеТеперь запустите:
Иногда происходит
virtualenv
сбой cmd , если это так, используйте это:Теперь активируйте виртуальную среду:
Или:
Теперь беги
Вы должны увидеть полный путь к вашему каталогу и
<env_name>/bin/python
суффиксуЧтобы выйти из virtualenv, запустите:
источник
Python теперь поставляется с собственной реализацией виртуальной среды под названием «venv». Я бы предложил использовать это вместо virtualenv.
Цитирование из venv - docs ,
Для окон, чтобы запустить venv в каком-либо проекте, откройте cmd:
(Рекомендуется использовать двойные кавычки вокруг пути к каталогу, если он содержит пробелы. Например: "C: / My Dox / Spaced Directory / Something")
После настройки venv вы увидите несколько новых папок в каталоге вашего проекта. Одним из них будут «Сценарии».
Для активации или вызова venv вам необходимо:
Вы можете деактивировать виртуальную среду, набрав «деактивировать» в своей оболочке. Теперь вы готовы установить библиотеки вашего проекта, которые будут находиться в папке «Lib».
================================ Редактировать 1 ================ ==================== Сценарий, который будет обсуждаться ниже, не тот, о котором первоначально просили, просто добавьте его на тот случай, если кто-то использует vscode с расширением python
В случае, если вы используете vs-код с его расширением python, вы можете столкнуться с проблемой его pylint, который указывает на глобальную установку. В этом случае Pylint не сможет видеть модули, установленные в вашей виртуальной среде, и, следовательно, будет отображать ошибки при импорте.
Вот простой способ обойти это.
Сначала мы активируем среду, а затем вызываем vs-code, чтобы pylint запускался внутри среды и мог видеть все локальные пакеты.
источник
virtualenv
для повседневного использования виртуальных сред (workon
и т. Д.), Но для надежного создания новых виртуальных средpython3.x
это единственный способ, который я нашел, что работает.В дополнение к другим ответам я рекомендую проверить, какой экземпляр virtualenv вы выполняете:
Если это приводит к появлению чего-либо в / usr / local / bin, то вполне возможно - даже вероятно - что вы установили virtualenv (возможно, с использованием экземпляра easy_tools или pip) без использования диспетчера пакетов вашей системы (brew в случае OP). Это была моя проблема.
Несколько лет назад, когда я был еще более невежественен, я установил virtualenv, и он маскировал пакетную систему моей системы virtualenv.
После удаления этого старого сломанного virtualenv мои проблемы исчезли.
источник
В python3.6 я пытался
python3 -m venv myenv
, согласно документации, но это заняло так много времени. Так что очень простая и быстрая команда: «python -m venv yourenv
Это сработало для меня на python3.6».источник
На Mac мне пришлось сделать следующее, чтобы заставить его работать.
источник
which python2.7
илиwhich python3.5
илиwhich python3.6
, а затем замените about--python=DIRECTORY
Если вы устанавливаете python3 (
brew install python3
) вместе с virtualenv burrito , вы можете сделатьmkvirtualenv -p $(which python3) env_name
Конечно, я знаю, что virtualenv burrito - это просто обертка, но она хорошо послужила мне на протяжении многих лет, сокращая некоторые кривые обучения.
источник
virtualenv --python=/usr/local/bin/python3 <VIRTUAL ENV NAME>
это добавит путь python3 для вашей виртуальной среды.источник
У меня сработало
источник
Для тех, у кого возникли проблемы при работе с Anaconda3 (Python 3).
Вы могли бы использовать
Активировать среду (Linux, MacOS)
Для Windows
источник
Я перепробовал все вышеперечисленное, все равно не получилось. Таким образом, как грубая сила, я просто переустановил анаконду, переустановил virtualenv ... и это сработало.
источник
Я хотел сохранить python 2.7.5 как версию по умолчанию в Centos 7, но иметь python 3.6.1 в виртуальной среде, работающей вместе с другими виртуальными средами в python 2.x
Я нашел ссылку ниже, лучшее решение для новейшей версии Python (Python 3.6.1) https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming -environment-for-python-3 . Он показывает шаги для разных платформ, но основные шаги
источник
Приведенные ниже простые команды могут создать виртуальную среду с версией 3.5.
если вы хотите виртуальную версию env как 3.6
источник
Для тех из вас, кто использует pipenv и хочет установить определенную версию:
источник
Я получил ту же ошибку из-за конфликта с установкой miniconda3, поэтому, когда вы набираете «which virtualenv», и если вы установили miniconda и она указывает на эту установку, вы можете удалить ее (если вы, как я, не двигались) пока нет) или измените переменную окружения, чтобы она указала на нужную вам установку.
источник
В командной строке Windows у меня сработало следующее. Сначала выясните, где находятся ваши исполняемые файлы Python:
Это выведет пути к различным файлам python.exe в вашей системе. Здесь были мои:
Так что для Python3 это было для меня первым путем, поэтому я перехожу в корневую папку приложения, где я хочу создать папку виртуальной среды. Затем я запускаю следующее, которое включает путь к моему исполняемому файлу Python3 с именем моей виртуальной среды «venv»:
Далее активируйте виртуальную среду:
Наконец, установите зависимости для этой виртуальной среды:
Этот файл require.txt можно заполнить вручную, если вы знаете библиотеки / модули, необходимые для вашего приложения в виртуальной среде. Если у вас было приложение, запущенное в другой среде, вы можете автоматически создать зависимости, выполнив следующее (перейдите в папку приложения в среде, в которой оно работает):
Затем, после того как у вас будет файл «settings.txt», который вы «заморозили», вы можете установить требования на другой компьютер или в чистую среду с помощью следующего (после перехода в папку «cd»):
Чтобы увидеть вашу версию Python в виртуальной среде, запустите:
Тогда вуаля ... ваш Python3 работает в вашей виртуальной среде. Вывод для меня:
источник