Я создал venv для своего проекта Python и создал пакетный запуск Windows, который автоматически устанавливает venv и запускает нужный скрипт на python, похоже, так. Этот 'runner.bat' выглядит так:
echo off
cmd /k "cd /d venv\Scripts & activate & cd /d ..\..\src & python myprogram.py"
'activate.bat' looks like that:
@echo off
rem This file is UTF-8 encoded, so we need to update the current code page while executing it
for /f "tokens=2 delims=:" %%a in ('"%SystemRoot%\System32\chcp.com"') do (
set "_OLD_CODEPAGE=%%a"
)
if defined _OLD_CODEPAGE (
"%SystemRoot%\System32\chcp.com" 65001 > nul
)
set "VIRTUAL_ENV=..\venv"
if not defined PROMPT (
set "PROMPT=$P$G"
)
if defined _OLD_VIRTUAL_PROMPT (
set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
)
if defined _OLD_VIRTUAL_PYTHONHOME (
set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
)
set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
set "PROMPT=(venv) %PROMPT%"
if defined PYTHONHOME (
set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
set PYTHONHOME=
)
if defined _OLD_VIRTUAL_PATH (
set "PATH=%_OLD_VIRTUAL_PATH%"
) else (
set "_OLD_VIRTUAL_PATH=%PATH%"
)
set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%"
:END
if defined _OLD_CODEPAGE (
"%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul
set "_OLD_CODEPAGE="
)
Все это прекрасно работает на моей локальной машине, но после загрузки с github на другую машину он не может правильно установить venv - Python не найден, так как очевидно, что был неправильный путь к python.exe в venv \ pyvenv. CFG файл. У меня не было пути к venv \ Scripts \ python.exe, который я хочу использовать для этого проекта, но вместо этого я использовал путь к оригинальному python.exe на моей локальной машине, на котором я разработал проект.
Как я могу установить относительный путь к этому файлу конфигурации, чтобы любой пользователь, который клонировал этот проект на локальную машину, мог запустить его моим бегуном? Если я правильно понимаю, это должно быть основным принципом использования виртуальной среды или я не прав? Или что еще нужно установить? Я действительно ценю любую помощь.
Ожидаемые результаты: программа запускается и работает на любом компьютере.
Фактический результат: "Нет Python в \ somepath \"