ホームページ  >  記事  >  バックエンド開発  >  Python2.7と3.5は互換性がありますか?

Python2.7と3.5は互換性がありますか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-06-18 17:27:372727ブラウズ

歴史的な理由により、Python には Python2 と Python3 という 2 つの大きなバージョン ブランチがあります。また、一部のライブラリは特定のバージョン ブランチのみをサポートするため、Python2 と Python3 をコンピューターに同時にインストールする必要があります。 Python の 2 つのバージョンの互換性、対応する Python バージョンでスクリプトを実行する方法については、要約する価値があります。

Python2.7と3.5は互換性がありますか?

Ubuntu 16.04 LTS バージョンの場合、Python2 (2.7.12) と Python3 (3.5.2) がデフォルトで同時にインストールされ、デフォルトの Python バージョンは 2.7 です。 .12.

Python2.7と3.5は互換性がありますか?

もちろん、python2 を使用して呼び出すこともできます。

Python2.7と3.5は互換性がありますか?

python3 を呼び出したい場合は、python3 を使用します。

関連する推奨事項: 「Python ビデオ チュートリアル

Python2.7と3.5は互換性がありますか?

Windows の場合、これは少し複雑です。なぜなら、python2、python3に関係なく、pythonの実行ファイルはpython.exeという名前になり、cmdでpythonと入力して得られるバージョン番号は、環境変数のpythonパスのどちらのバージョンが上位かによって決まります。結局、Windowsは順番に検索します。たとえば、環境変数内の順序は次のようになります。

Python2.7と3.5は互換性がありますか?

この場合、cmd の下の Python バージョンは 2.7.12 になります。

Python2.7と3.5は互換性がありますか?

逆に、python3のバージョン番号です。

これで問題が発生します。Python2 を使用してスクリプトを実行し、後で Python3 を使用して別のスクリプトを実行したい場合は、どうすればよいでしょうか?環境変数を前後に変更するのは明らかに面倒です。

インターネット上には比較的単純で大雑把な方法がたくさんあります。2 つの python.exe の名前を変更し、1 つは python2.exe、もう 1 つは python3.exe にします。確かにそれは可能ですが、実行ファイルを改変するという方法は結局のところ良い方法ではありません。

いくつかの Python 技術文書を注意深く検索し、より良いと思われる別のソリューションを見つけました。

py のパラメーターを借用して、さまざまなバージョンの Python を呼び出します。 py -2 は python2 を呼び出し、py -3 は python3 を呼び出します。

Python2.7と3.5は互換性がありますか?

Python2.7と3.5は互換性がありますか?

Python スクリプトの実行に python2 が必要な場合、スクリプトの直前に追加します。次に、py xxx.py を実行します。

#! python2

Python スクリプトの実行に python3 が必要な場合は、スクリプトの前に追加して、py xxx.py を実行します。

#! python3

とても簡単です。

同時に、これにより、python2 と python3 が共存する環境で pip がエラーを報告し、ランチャーで致命的なエラーが表示される問題も完全に解決されます: 「"」を使用してプロセスを作成できません。

必要な場合 python2 の pip を使用する場合は、

py -2 -m pip install xxx

python3 の pip が必要な場合は、単に

py -3 -m pip install xxx

python2 と python3 の pip パッケージは完全に分離できます。

以上がPython2.7と3.5は互換性がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。