[英]Why is my system running python2 despite all my efforts to run python3?
我無法運行從 Android 存儲庫下載的腳本。 基於相關問題和我自己的測試,我很確定問題在於它是由 Python2 解釋的,而它是為 Python3 編寫的。
這是我在自己的腳本中重現問題的嘗試:
#!/usr/bin/env python3
# test.py
import sys
print('hello', file=sys.stderr)
以下是測試步驟:
$ alias python=python3
$ python --version
Python 3.6.9
$ python test.py
hello
$ unalias python
$ python --version
Python 2.7.17
$ python test.py
File "test.py", line 5
print('hello', file=sys.stderr)
^
SyntaxError: invalid syntax
令人困惑的是,雖然此測試按預期執行,但當我使用repo
嘗試安裝 Android 開源項目時,盡管運行alias python=python3
,但我得到了SyntaxError
(來自基本上相同的腳本行)。 (shebang 似乎不會影響測試或主腳本。)
我錯過了什么? 如何使用正確版本的 python3 運行此腳本? 並假設有一個解決方法,之后我該如何清理,以便我的系統的 rest 仍然可以在需要時訪問 python2?
alias
只會更改您直接輸入 shell 的命令的解釋。 因此repo
不受影響,因為它不會在 shell 中鍵入 python 命令。
通常從系統運行不同的 Python 配置的最佳方法是使用 virtualenvs。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.