python - 在 Python 脚本中调用系统的 Python 或 virtualenv 的 Python

标签 python shell virtualenv

假设您编写了一个 Python shell 脚本。它可能会以这样的方式开始:

#!/usr/bin/python

问题是,如果您经常使用 virtualenv,那么这个调用就是完全错误的。你实际上希望这个脚本调用 virtualenv 的 python 二进制文件,如果它在这个环境中,否则 /usr/bin/python/。就像您的 shell 会决定的那样,当您将 python 编写为 shell 命令时。

您将如何编写 #! 行来满足此要求?

最佳答案

改用#!/usr/bin/env python

env command在当前 PATH 中查找二进制文件;激活你的虚拟环境会将你的 virtualenv bin/ 目录添加到路径中,env 会在那里找到你的 python 二进制文件而不是全局 python。

关于python - 在 Python 脚本中调用系统的 Python 或 virtualenv 的 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14461182/

相关文章:

python - 在 AWS S3 中分块创建大型 zip 文件

python - Scrapy爬取的URL如何存储?

bash - 展平目录结构并保留重复文件

python - 如何升级virtualenv以使用新系统python?

python-3.x - Jinja 找不到模板路径

python - 在python中将两个字符串相加

python - 从网站抓取分页链接的网页抓取问题

java - Runtime.getRuntime().exec 出错

linux - 从 GitLab 找到最近下载的 repo

python - PIP无法在VIrtualenv中安装Django