Python3 -m /path/to/file 给我一个错误,而 python -m /path/to/file 不是
Python3 -m /path/to/file is giving me an error, whereas python -m /path/to/file is not
我在命令行上使用 mod 选项和 python (Python 2.7.X) 有一段时间了,现在我要切换到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 所做的更改已使我这边的上述使用中断!
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 变体中重新安装每个模块。
用法不是:
$ python -m path/to/file
而是
$ python -m package.subpackage.module
-m
标志将当前目录添加到您的 Python 路径,然后它会在 Python 路径上查找用于打开程序的模块。例如:
$ 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.
我在命令行上使用 mod 选项和 python (Python 2.7.X) 有一段时间了,现在我要切换到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 所做的更改已使我这边的上述使用中断!
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 变体中重新安装每个模块。
用法不是:
$ python -m path/to/file
而是
$ python -m package.subpackage.module
-m
标志将当前目录添加到您的 Python 路径,然后它会在 Python 路径上查找用于打开程序的模块。例如:
$ 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.