原文地址?https://www.cyberlight.xyz/passage/python3-double-click
由于業(yè)務(wù)需求,需要鼠標(biāo)雙擊py文件后自動運行。為了使代碼擁有更強(qiáng)可移植性完慧,項目使用了虛擬環(huán)境。于是產(chǎn)生了問題剩失,如何在?鼠標(biāo)雙擊py文件后屈尼,使用虛擬環(huán)境的python解釋器執(zhí)行,而不是系統(tǒng)默認(rèn)解釋器拴孤?
這篇筆記使用 Windows 記錄脾歧,同樣適用于 Linux?與 MacOS。
筆記以使用 Requests庫獲取百度html源碼 為例演熟,說明方法鞭执,以下為實現(xiàn)過程:
環(huán)境:Windows 10,Python 3.8.1
首先創(chuàng)建虛擬環(huán)境(虛擬環(huán)境創(chuàng)建及激活筆記見https://www.cyberlight.xyz/passage/python3-virtualenv)芒粹,建好后如圖
激活虛擬環(huán)境后兄纺,在虛擬環(huán)境中安裝?Requests庫,命令及安裝結(jié)果如下
pip install requests
在該目錄創(chuàng)建 test.py?程序化漆,內(nèi)容及創(chuàng)建圖如下
#!venv/Scripts/python.exe
import requests
html = requests.get('https://www.baidu.com/')
html.encoding = 'utf-8' #這一行是將編碼轉(zhuǎn)為utf-8否則中文會顯示亂碼估脆。
print(html.text)
input('按任意鍵離開該窗口')
想必您已經(jīng)猜到,第一行內(nèi)容 #!venv/Scripts/python.exe?為 虛擬環(huán)境中的Python解釋器路徑【在Linux和MacOS中為#!venv/bin/python3】(該路徑為相對路徑座云,若您暫不了解Python相對路徑疙赠,請參考https://www.cyberlight.xyz/passage/absolute-path)
此時我們進(jìn)行測試,鼠標(biāo)雙擊 test.py朦拖,得到如下內(nèi)容
py程序已經(jīng)通過虛擬環(huán)境的解釋器執(zhí)行圃阳,成功返回百度html源碼~
該程序第一行 #!venv/Scripts/python.exe?設(shè)置了虛擬環(huán)境的解釋器路徑,極為重要璧帝!若無此行捍岳,雙擊py程序?qū)箦e閃退(因為找不到對應(yīng)的py模塊)。
PS:在Linux中可通過該方法實現(xiàn)雙擊運行py程序
以上是該筆記的全部內(nèi)容裸弦,感謝閱讀祟同!