Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218

Venv не меняет путь к интерпретатору [solved]

24.06.2025, 02:36. Показов 1233. Ответов 4

Студворк — интернет-сервис помощи студентам
Не пойму, venv прописывает новый путь в path первым по списку, но командная строка всё равно находит питон по старому пути. Что не так? Windows 11, раньше и под семёркой такая же хрень была на другом компьютере, но тогда я забил, а сейчас хочется разобраться.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
`C:\Users\Alex>echo %path%
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;C:\Program Files\PuTTY\;C:\Users\Alex\AppData\Local\Programs\Python\Python313\Scripts\;C:\Users\Alex\AppData\Local\Programs\Python\Python313\;C:\Users\Alex\AppData\Local\Programs\Python\Launcher\;C:\Users\Alex\AppData\Local\Microsoft\WindowsApps;C:\Programs;
 
C:\Users\Alex>C:\Users\Alex\AppData\Local\Programs\Python\venv-38x32\Scripts\activate
 
(venv-38x32) C:\Users\Alex>echo %path%
C:\Users\Alex\venv-38x32\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;C:\Program Files\PuTTY\;C:\Users\Alex\AppData\Local\Programs\Python\Python313\Scripts\;C:\Users\Alex\AppData\Local\Programs\Python\Python313\;C:\Users\Alex\AppData\Local\Programs\Python\Launcher\;C:\Users\Alex\AppData\Local\Microsoft\WindowsApps;C:\Programs;
 
(venv-38x32) C:\Users\Alex>where python
C:\Users\Alex\AppData\Local\Programs\Python\Python313\python.exe
C:\Users\Alex\AppData\Local\Microsoft\WindowsApps\python.exe
 
(venv-38x32) C:\Users\Alex>python --version
Python 3.13.3
 
(venv-38x32) C:\Users\Alex>cat C:\Users\Alex\AppData\Local\Programs\Python\venv-38x32\Scripts\activate\pyvenv.cfg
home = C:\Users\Alex\AppData\Local\Programs\Python\Python38-32
include-system-site-packages = false
version = 3.8.10
 
(venv-38x32) C:\Users\Alex>`
Я бы подумал, что значение path кешируется на время работы cmd (а так и есть, читается из реестра единожды, при запуске), но ведь set, которой пользуется venv, должна его переопределить на время сеанса, не? Set вообще действует только в пределах сеанса и перезапуск cmd не переживает.

Добавлено через 29 минут


Блиин, да твою ж дивизию... Папку venv нельзя переносить после создания.

Короче всё, проблема решена)))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.06.2025, 02:36
Ответы с готовыми решениями:

Разница между venv через терминал и venv в Pycharm
Есть ли разница - создавать виртуальное окружение через venv в терминале, а потом в pycharm...

Python не меняет версию через venv
Я пытался поменять версию через venv. Ничего не выходило. В итоге я удалил ненужную версию, а она...

Передать аргументы интерпретатору
Можно ли в Python передать аргументы интерпретатору через командную строку? Как?

4
 Аватар для kazak
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
24.06.2025, 15:12
Лучший ответ Сообщение было отмечено Postscripter как решение

Решение

Цитата Сообщение от Postscripter Посмотреть сообщение
Папку venv нельзя переносить после создания.
Формально можно, но нужно учитывать два момента:
1) Папка venv жестко прописывается в скриптах активации, если venv переезжает в другое место, то нужно править скрипты.
2) python.exe в venv не полноценное приложение, под капотом он дергает системный python, путь до которого также жестко прописывается в копии. Соовтетственно если переустановить системный питон в другое место или обновить версию, все venv созданные старой версией перестанут работать. Но можно venv таскать вместе с папкой системного питона, хоть между разными компами, единственное, нужно следить, чтобы расположение системного питона на новом ПК в точности соответствовал ПК-донору.
3
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,215
24.06.2025, 19:50
Цитата Сообщение от Postscripter Посмотреть сообщение
Папку venv нельзя переносить после создания.
её и нет необходимости переносить, на новом месте просто выполнить действия по созданию каталога с виртуальным окружением...
Примерно так:
1. открываем консоль командной строки
2. переходим в каталог проекта
3. выполняем:
Windows Batch file
1
py -3.11 -m venv venv
- где, цифры - версия питона (установленного в системе глобально), первая venv - имя модуля, вторая venv - имя каталога, где формируется виртуальное окружение в каталоге проекта (имя каталога для хранения можно использовать другое).
В результате будет создан каталог .\venv содержащий копию загрузчика интерпретатора Python (оригинальное имя py.exe), стандартную библиотеку и другие файлы.
После формирования файлов для виртуального окружения, перемещать каталог не рекомендуется, т.к. в скриптах формируется абсолютный путь к нему. Ну или корректировать скрипты и конфиг.
Далее:
4. Активируем виртуальное окружение:
Windows Batch file
1
.\venv\Scripts\activate.bat
либо, для powershell:
PowerShell
1
.\venv\Scripts\activate.ps1
5. Строка приглашения изменится, префиксом будет (venv)......
6. По окончании деактивируем командой:
deactivate
1
9 / 9 / 1
Регистрация: 04.07.2012
Сообщений: 218
24.06.2025, 21:14  [ТС]
Спасибо за помощь ✌️ Теперь всё будет по науке.
0
 Аватар для ViachaslauK
126 / 185 / 16
Регистрация: 08.10.2024
Сообщений: 689
24.06.2025, 21:24
Цитата Сообщение от Postscripter Посмотреть сообщение
Теперь всё будет по науке.
По науке - это если потратить полчаса на изучение poetry и после этого забыть про всякие проблемы с установкой venv, cовместимпстью пакетов итп...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2025, 21:24
Помогаю со студенческими работами здесь

Представление списка строк в виде, понятном интерпретатору Питона
Напишите программу — помощник начинающего программиста на Питоне, которая представляет список строк...

Создание портативного venv
Есть аппка. Там с десяток зависимостей в стиле PyQT, numpy, sql... Создал virtual env, запустил...

Где хранить собственные файлы в PyCharm и других проектах (+venv)
Я не понимаю, где я должен располагать собственные файлы .py в проекте с использованием venv...в...

Случайно удалил venv
Случайно удалил venv, создаю новый, запускаю dev сервер и получаю ValueError: source code string...

Python Ubuntu Supervisor Venv
Есть сервер на ubuntu, на нем бот на питоне если запускать через 2 команды source...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru