Как настроить автоматическую активацию виртуальной среды (venv) при запуске командной строки?

Как восстановить автоматическую активацию виртуального окружения venv при открытии терминала в проекте на Python в vscode после недавнего обновления?
  • 20 января 2024 г. 20:19
Ответы на вопрос 1
Чтобы настроить автоматическую активацию виртуальной среды (venv) при запуске командной строки или терминала, можно добавить соответствующую команду в файл запуска вашего оболочки (например, `.bashrc`, `.zshrc` для bash или zsh соответственно в Unix-подобных системах или в `profile.ps1` для PowerShell в Windows).

Вот как вы можете это сделать для разных оболочек:

**Для bash (Linux/Mac):**
1. Откройте файл `.bashrc` в домашнем каталоге пользователя:
   ```bash
   nano ~/.bashrc
   ```
2. Добавьте команду для активации venv в конец файла. Предполагая, что ваша виртуальная среда находится в директории `~/your_project/venv`, добавьте строку:
   ```bash
   source ~/your_project/venv/bin/activate
   ```
3. Сохраните файл и обновите его командой `source` или перезапустите терминал.

**Для zsh (Mac):**
1. Откройте файл `.zshrc` в домашнем каталоге пользователя:
   ```zsh
   nano ~/.zshrc
   ```
2. Аналогичным образом добавьте команду для активации venv в конец файла.

**Для PowerShell (Windows):**
1. Откройте профиль PowerShell командой (можно это сделать в самом PowerShell):
   ```powershell
   notepad $PROFILE
   ```
2. Добавьте следующую команду для активации venv (путь к виртуальной среде необходимо указать соответственно):
   ```powershell
   . 'C:\path\to\your\project\venv\Scripts\Activate.ps1'
   ```
3. Сохраните файл и перезагрузите PowerShell.

После того как вы настроили автоматическую активацию виртуальной среды в командном интерпретаторе, вы также можете настроить это в Visual Studio Code (VS Code):

1. Откройте ваш проект в VS Code.
2. Создайте в корневом каталоге проекта файл `.vscode` с поддиректорией `settings.json` (если такого еще нет).
3. Добавьте в файл `settings.json` следующие строки конфигурации, убедившись, что путь к интерпретатору Python соответствует тому, что находится в вашей виртуальной среде:
   
   ```json
   {
       "python.pythonPath": "path/to/your/venv/bin/python",
       "terminal.integrated.shellArgs.windows": ["-ExecutionPolicy", "Bypass", "-NoExit", "-Command", "& 'C:\\path\\to\\your\\project\\venv\\Scripts\\Activate.ps1'"],
       "terminal.integrated.activateEnvironment": true
   }
   ```
4. Сохраните файл `settings.json` и перезапустите VS Code.

Теперь VS Code должен автоматически активировать виртуальную среду при открытии терминала в рамках проекта.

Учитывайте, что точные строки настройки могут несколько отличаться в зависимости от вашей версии VS Code и используемого интерпретатора Python. В последних версиях VS Code предпочтение отдается использованию новой системы настройки интерпретатора через команду `Python: Select Interpreter`.
Похожие вопросы