Python3 -m / path / to / file给出了一个错误,而python -m / path / to / file则没有

时间:2016-08-16 15:52:52

标签: python python-3.x module options mod

我一直在使用python(Python 2.7.X)命令行上的mod选项,现在我正在切换到Python 3。

python -m path/to/file

现在,当我尝试执行相同的过程时,但使用Python 3,字面上是相同的行:

python3 -m path/to/file

我收到以下错误:

/usr/bin/python3: No module named path/to/file

我一直在阅读Python 2.X和Python 3.X关于-m选项的文档,我还没有弄清楚3.X的小改动如何在我的上面提到了上面提到的利用率一边破!

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

Python3不会寻找Python2模块。您需要专门为Python3安装模块。

举一个具体的例子:在Debian下,python-numpy包安装到 $.ajax({ url: 'Test/UploadFiles', type: "POST", contentType: false, processData: false, data: fileData, success: function(result) { alert(result); }, error: function(err) { alert(err.statusText); } }); ,而python3-numpy包安装到/usr/lib/python2.7/dist-packages/numpy/。 Python2只会搜索/usr/lib/python3/dist-packages/numpy/; Python3只会搜索/usr/lib/python2.7/dist-packages/

接受这个原样;不要试图修改本地安装的搜索路径,以免你陷入可怕的混乱。而是在其Python3变体中重新安装每个模块。