簡體   English   中英

盡管我努力運行 python3,為什么我的系統仍在運行 python2?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM