virtualenv просто создает новую среду Python для вашего проекта.Думайте об этом как о другой копии Python, которая есть в вашей системе.Виртуальная среда полезна для разработки, особенно если вам потребуются разные версии одних и тех же библиотек.
Ответ на ваш первый вопрос: да, для каждого проекта, который вы используете virtualenv, вам необходимо сначала его активировать.После активации при запуске сценария Python не только сценарии вашего проекта, но и любой сценарий Python будут использовать зависимости и конфигурацию активной среды Python.
Ответ на второй вопрос: pip freeze > requirements.txt
создаст файл требованийв активной папке, а не в папке вашего проекта.Итак, допустим, что в вашем cmd / терминале вы находитесь в C:\Desktop
, тогда файл требований будет создан там.Если вы находитесь в папке C\Desktop\myproject
, файл будет создан там.Файл требований будет содержать пакеты, установленные на active virtualenv.
Ответ на 3-й вопрос связан со вторым.Просто вам нужно написать полный путь ко второму файлу требований.Так что, если вы находитесь в первом проекте и хотите установить пакеты из второго virtualenv, вы запускаете его как env2/bin/pip install -r /path/to/my/first/requirements.txt
.Если в вашем терминале вы находитесь в активной папке, в которой нет файла require.txt, то при запуске pip install
вы получите ошибку.Таким образом, команда не знает, какой файл требований вы хотите использовать, вы указываете его.
Я создал virtualenv C:\Users\admin\Documents\Enviorments>virtualenv django_1 Using base prefix 'c:\\users\\admin\\appdata\\local\\programs\\python\\python37-32' New python executable in C:\Users\admin\Documents\Enviorments\django_1\Scripts\python.exe Installing setuptools, pip, wheel...done.
Как мне его активировать?source django_1/bin/activate
не работает?
Я пробовал: source C:\Users\admin\Documents\Enviorments\django_1/bin/activate
Каждый раз, когда я получаю: 'источник' не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.