[英]Python Installation Location (Windows)
我需要找出計算機上是否安裝了Python。
我的具體問題是,我正在分發一個帶有自己的解釋器和標准庫的程序(最終用戶可能沒有Python)。 在安裝中,如果有用戶,我可以選擇使用用戶自己安裝的Python解釋器+庫。 但是,我需要該位置。 我可以要求用戶手動找到它,但是我希望有一種自動方法。
由於我的安裝程序使用了我包含的解釋器,因此sys.prefix
引用了包含的解釋器(我知道這一點是因為我嘗試了,我安裝了Python 2.7和3.3)。
我也嘗試使用subprocess.call
: subprocess.call(['py', '-c', '"import sys; print sys.prefix"'])
如果有一個這將使用標准的Python解釋器,但我我不確定如何捕獲此輸出。
因此,還有其他方法可以確定用戶計算機上是否安裝了默認的Python版本,以及在哪里?
實際上,根據我的其他答案,找到Python安裝目錄的一種更好的方法可能是檢查Windows注冊表,因為Python安裝程序會在其中放置一些信息。
看一下這個答案和這個Python模塊 。
一些用戶可能已將其本地Python目錄放置在系統的PATH
環境變量中,而某些用戶甚至可能已設置了PYTHONPATH
環境變量。
您可以嘗試以下方法:
import os
if "python" in os.environ["PATH"].lower():
# Confirm that the Python executable actually is there
if "PYTHONPATH" in os.environ.keys():
# Same as in the last if...
至於subprocess.call(...)
,請為傳遞給文件對象的內容設置stdout
參數,然后.read()
為您提供的文件對象.read()
來查看調用的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.