如何设置python虚拟环境的相对路径?

时间:2019-07-07 19:50:22

标签: python-3.x config python-venv

我已经为我的Python项目创建了venv,并且创建了一个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,因为显然在venv \ pyvenv中存在指向python.exe的错误路径。 cfg文件。我没有要用于该项目的venv \ Scripts \ python.exe路径,而是在我开发该项目的本地计算机上的原始python.exe路径。

我如何设置此配置文件的某些相对路径,以便将此项目克隆到本地计算机的任何用户都可以由我的跑步者运行它?如果我理解正确,那应该是使用虚拟环境的主要原则,还是我错了?或者还需要设置其他什么?非常感谢您的帮助。

预期结果:程序启动并在任何计算机上运行 实际结果:“ \ somepath \中没有Python”

0 个答案:

没有答案