双击运行Python程序时,使用虚拟环境的解释器执行

原文地址 https://www.cyberlight.xyz/passage/python3-double-click

由于业务需求,需要鼠标双击py文件后自动运行。为了使代码拥有更强可移植性,项目使用了虚拟环境。于是产生了问题,如何在 鼠标双击py文件后,使用虚拟环境的python解释器执行,而不是系统默认解释器?

这篇笔记使用 Windows 记录,同样适用于 Linux 与 MacOS。

笔记以使用 Requests库获取百度html源码 为例,说明方法,以下为实现过程:


环境:Windows 10,Python 3.8.1

首先创建虚拟环境(虚拟环境创建激活笔记见https://www.cyberlight.xyz/passage/python3-virtualenv),建好后如图

激活虚拟环境后,在虚拟环境中安装 Requests库,命令及安装结果如下

pip install requests

在该目录创建 test.py 程序,内容及创建图如下

#!venv/Scripts/python.exe

import requests

html = requests.get('https://www.baidu.com/')

html.encoding = 'utf-8' #这一行是将编码转为utf-8否则中文会显示乱码。

print(html.text)

input('按任意键离开该窗口')

想必您已经猜到,第一行内容 #!venv/Scripts/python.exe 为 虚拟环境中的Python解释器路径【在Linux和MacOS中为#!venv/bin/python3】(该路径为相对路径,若您暂不了解Python相对路径,请参考https://www.cyberlight.xyz/passage/absolute-path

此时我们进行测试,鼠标双击 test.py,得到如下内容

py程序已经通过虚拟环境的解释器执行,成功返回百度html源码~

该程序第一行 #!venv/Scripts/python.exe 设置了虚拟环境的解释器路径,极为重要!若无此行,双击py程序将报错闪退(因为找不到对应的py模块)。

PS:在Linux中可通过该方法实现双击运行py程序


以上是该笔记的全部内容,感谢阅读!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。