コマンドpython
は、Python 2.7.6環境を開きます。 Python 3スクリプトを解釈する場合は、コマンドをpython3
に書き換える必要があります。
numpyパッケージをインストールしました。正常なインストールをテストするために、コマンドimport numpy
を実行します。 python
コマンドを使用するとうまく機能します。ただし、python3
はパッケージを見つけられません。
これはどのように可能ですか?これらの2つのコマンドは異なるpath変数を使用しますか?動作を変更するにはどうすればよいですか?
あなたは絶対に正しいです、彼らは異なる PYTHONPATH
sを使用します。
Python 2.xとPython 3.xは、まったく異なるプログラミング環境と考えることができます。そして、はい、彼らはパッケージを異なる場所に保存します。
Numpyを動作させるには、次のように入力します:
Sudo apt-get install python3-numpy
パッケージが正確に保持されている場所を知りたい場合は、モジュールオブジェクトの__path__
属性を確認できます。
>>> import numpy
>>> numpy.__path__
['/usr/local/lib/python3.5/site-packages/numpy']
python3-pip
をインストールしてからpip3 install whatever
を実行して、 Pip でPython 3のパッケージをインストールすることもできます。Ubuntuでpython3-whatever
として使用できないパッケージの場合。
Distutils、setuptools、easy_install、pipとその他の違いについて混乱している場合は、pipを使用してください。それはクールなものです。 :)
いいえ、同じPATH
を使用します。ただし、thisの問題はPATH
にはありません。
Python 2とPython 3は十分に異なるため、パッケージは両方に別々に作成する必要があります。あるパッケージ用に作成されたパッケージを他のパッケージと一緒に使用することはできません。
Ubuntuでは、これらのモジュールは異なる場所に保存され、個別にパッケージ化されます- python-numpy
for Python 2、 python3-numpy
for Python 3 。Python 3でnumpyが必要な場合は、python3-numpy
をインストールします。
$ python3 -c 'import sys; print (sys.path)'
['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/home/muru/.local/lib/python3.4/site-packages', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']
$ python2 -c 'import sys; print (sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
実際、両方とも異なる場所からモジュールをインポートしています:
/usr/lib/python2.7/dist-packages/numpy/
/usr/lib/python3/dist-packages/numpy/
両方のインタープリターでnumpy
をインポートできるようにするには、必ず対応するパッケージをインストールしてください。
Sudo apt-get install python-numpy
Sudo apt-get install python3-numpy