[英]Path handling error calling Windows Python from within WSL
我有一個名為“submit.py”的腳本,它以“#!/usr/bin/env python.exe”開頭,如果我在包含“submit.py”的目錄中,它就可以工作。 我可以運行“./submit.py”並且腳本運行正常。 我決定將包含“submit.py”的目錄添加到我的 PATH 環境變量中,這樣我就可以從任何目錄運行“submit.py”。
但是,我無法從任何目錄運行“submit.py”。 我得到的錯誤是:
D:\Program Files\Python36\python.exe: can't open file '/mnt/d/Program Files/kattisTools/submitToKattis': [Errno 2] No such file or directory
我認為該錯誤與 Windows Python 期望路徑的方式以及 WSL 處理路徑的方式的差異有關。 我的意思是 python.exe 應該尋找“D:\\Program Files\\kattisTools\\submitToKattis”,但 WSL 正在為它提供“/mnt/d/Program Files/kattisTools/submitToKattis”
我也相信“./submit.py”在我位於包含 submit.py 的目錄中時有效,因為 '.' 運算符在 WSL 中的處理方式不同,WSL 將真實的 Windows 路徑提供給 Windows Python。
我希望有一種補救措施,以便我可以從依賴 Windows Python 的任何目錄運行“submit.py”?
2018 年 6 月 26 日更新:我研究了 WSL 和 Windows 之間的共享環境變量,尤其是“/w”標志。 我還沒有讓它按照我想要的方式工作,但這可能是什么?
你現在讓這個工作了嗎? 從 wsl 中調用帶有 pipenv 虛擬環境(基於 windows 的 python.exe)的 python 腳本時,這里有同樣的問題:(
and it works你是完全正確的......直接從它的文件夾中調用腳本它看起來像這樣: 並且它可以工作
如果從另一個文件夾調用它,它看起來像(並且不起作用):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.