我如何使用特定的 python 解释器来 运行 我的 python 文件
How can I use a specific python interpreter to run my python file
我创建了一个 python 文件并使用了一些包。我在虚拟环境中安装了软件包。现在,当我尝试 运行 该文件时,它会在默认安装的解释器上 运行 并且每次我必须 运行 该文件时我都必须激活虚拟环境。有什么办法可以做到这一点。
结论:文件的代码可以 select 寻找包的地方。
您可以将虚拟环境解释器的路径直接添加到脚本顶部的 shebang 中。例如,如果您的虚拟环境存储在 /home/ishant/venv
,shebang 将是
#!/home/ishant/venv/bin/python
然后,如果您直接执行脚本(在使用 chmod +x
等使其可执行之后),将使用您的虚拟环境。
(激活虚拟环境只是更新您的 PATH
变量,以便 python
解析为虚拟环境,而不是您的“常规”环境。您始终可以访问虚拟环境中的工具直接代替。)
好的,我明白你的意思了,我认为为什么不在代码中添加一些函数,这样无论何时执行它,它都会自动使用虚拟环境
--linux
的代码
import os
os.system("source <virtualenv_name>/bin/activate")
--windows
的代码
import os
os.system("<virtualenv_name>/bin/activate")
最后一行添加
os.system("deactivate")
将这些行添加到程序的开头,看看它是否有效。
希望能帮助您解决问题
谢谢!!
仅命令行 (Linux)
将其放入您的 ~/.bashrc 并在项目根目录中创建名称为 'venv' 的虚拟环境:
function cd() {
if [[ -d ./venv ]] ; then
deactivate
fi
builtin cd
if [[ -d ./venv ]] ; then
. ./venv/bin/activate
fi
}
当 cd-ing 进入目录时,它会搜索名为 venv 的虚拟环境,并在离开时禁用。
替代绝对路径(Linux 和 Windows)
如果你想 运行 没有 bash 的脚本,你可以 运行 它带有 virtualenv 中 python 解释器的绝对路径。
这来自 项目内部 目录:
# Posix:
/path/to/virtualenvname/bin/python run.py
# Windows:
C:\path\to\virtualenvname\Scripts\python.exe run.py
或者如果你想从项目目录之外的地方执行它:
# Posix:
/path/to/virtualenvname/bin/python /path/to/projectdir/run.py
# Windows:
C:\path\to\virtualenvname\Scripts\python.exe C:\path\to\projectdir\run.py
我创建了一个 python 文件并使用了一些包。我在虚拟环境中安装了软件包。现在,当我尝试 运行 该文件时,它会在默认安装的解释器上 运行 并且每次我必须 运行 该文件时我都必须激活虚拟环境。有什么办法可以做到这一点。 结论:文件的代码可以 select 寻找包的地方。
您可以将虚拟环境解释器的路径直接添加到脚本顶部的 shebang 中。例如,如果您的虚拟环境存储在 /home/ishant/venv
,shebang 将是
#!/home/ishant/venv/bin/python
然后,如果您直接执行脚本(在使用 chmod +x
等使其可执行之后),将使用您的虚拟环境。
(激活虚拟环境只是更新您的 PATH
变量,以便 python
解析为虚拟环境,而不是您的“常规”环境。您始终可以访问虚拟环境中的工具直接代替。)
好的,我明白你的意思了,我认为为什么不在代码中添加一些函数,这样无论何时执行它,它都会自动使用虚拟环境
--linux
的代码import os
os.system("source <virtualenv_name>/bin/activate")
--windows
的代码import os
os.system("<virtualenv_name>/bin/activate")
最后一行添加
os.system("deactivate")
将这些行添加到程序的开头,看看它是否有效。
希望能帮助您解决问题
谢谢!!
仅命令行 (Linux)
将其放入您的 ~/.bashrc 并在项目根目录中创建名称为 'venv' 的虚拟环境:
function cd() {
if [[ -d ./venv ]] ; then
deactivate
fi
builtin cd
if [[ -d ./venv ]] ; then
. ./venv/bin/activate
fi
}
当 cd-ing 进入目录时,它会搜索名为 venv 的虚拟环境,并在离开时禁用。
替代绝对路径(Linux 和 Windows)
如果你想 运行 没有 bash 的脚本,你可以 运行 它带有 virtualenv 中 python 解释器的绝对路径。
这来自 项目内部 目录:
# Posix:
/path/to/virtualenvname/bin/python run.py
# Windows:
C:\path\to\virtualenvname\Scripts\python.exe run.py
或者如果你想从项目目录之外的地方执行它:
# Posix:
/path/to/virtualenvname/bin/python /path/to/projectdir/run.py
# Windows:
C:\path\to\virtualenvname\Scripts\python.exe C:\path\to\projectdir\run.py