2016-08-16 6 views
1

ではありません。私はpython(Python 2.7.X)でコマンドラインでmodオプションを使っていますしばらくは、と私は今、私は同じ手順を実行しようとすると、今3python -m/path/to/fileは私にエラーを与えていますが、python -m/path/to/fileは

python -m path/to/file 

をPYTHONに切り替えていますが、Pythonの3、文字通り同じラインで:

python3 -m path/to/file 

私は与えられています次のエラー:

私はPython 2.XとPython 3.Xの両方のマニュアルを-mオプションについて読んできましたが、私はまだ3.Xの小さな変更が上記の使用率を私の壊れた側!

答えて

1

使い方ではありません。

$ python -m path/to/file 

ではなく、むしろ

$ python -m package.subpackage.module 

-mフラグは、モジュールが使用してプログラムを開くためにため、それ以外の場合は見えます、あなたのパスにカレントディレクトリを追加します。たとえば、Python 2:

$ cat > foo.py 
import sys 
print(sys.version) 

$ python -m foo 
2.7.8 (default, Jul 28 2014, 01:34:03) 
[GCC 4.8.3] 

$ python -m /foo 
/usr/bin/python: No module named /foo 

$ python -m ~/foo 
/usr/bin/python: No module named /cygdrive/c/Users/user/foo 

$ python -m ~/foo.py 
/usr/bin/python: Import by filename is not supported. 
+0

ええ、それでした!ありがとうございました! – Castiel

0

Python3はPython2モジュールを探しません。 Python3向けのモジュールをインストールする必要があります。

具体的な例を挙げましょう:Debianでは、python-numpyパッケージは/usr/lib/python2.7/dist-packages/numpy/に、python3-numpyパッケージは/usr/lib/python3/dist-packages/numpy/にインストールされます。 Python2は/usr/lib/python2.7/dist-packages/でのみ検索します。 Python3は/usr/lib/python3/dist-packages/でのみ検索します。

これをそのまま受け入れます。ひどい混乱で終わらないように、ローカルインストールの検索パスを変更しようとしないでください。むしろ、各モジュールをPython3の亜種に再インストールしてください。

関連する問題