2

Pythonインタープリターの2.7バージョンと3.0バージョンの両方を(Ubuntu 32システムに)インストールしていますが、特定のスクリプトの1つで3.0を使用しています。

使用する

#!/usr/bin/python3 -B

プログラムをで実行すると機能しませんpython myprogram.py

また、両方のPythonバージョンがインストールされているWindowsでも機能するソリューションが必要です。

正しいPythonバージョンでのみスクリプトを実行するにはどうすればよいですか?

4

4 に答える 4

4

分離されたPython環境を簡単にするvirtualenvを使用してください。

于 2013-02-19T10:18:19.073 に答える
1
python = Python to use. # This has to be the absolute path to Python executable

os.execl(python, python, * sys.argv)

このようにして、使用するPythonでスクリプトを再起動できます。あまりスタイリッシュではありません。

于 2013-02-19T10:19:32.817 に答える
1

でプログラムを起動できない理由はわかりませんが、python3 foo.pyこのような方法で python2 プログラムを python3 として再起動することは可能です。

import sys
if sys.version_info.major != 3:
    import os
    # replace this process with a python3 process
    os.execlp("python3", "python3", *sys.argv)

ただし、python3 プログラムは有効な python2 構文ではないものを使用できないため、これは悪い解決策です。

于 2013-02-19T10:34:43.733 に答える
0

間違ったPythonインタプリタが呼び出されているのを見てください

目的のバージョンのPythonとシステム変数をインストールした場所に基づいて、正しいインタープリターを選択する必要があります。

于 2013-02-19T10:19:28.263 に答える