无法在 Python 3/Ubuntu 中导入 paramiko
Can't import paramiko in Python 3/Ubuntu
我用 Ubuntu 的 APT 存储库 (sudo apt-get install python3-paramiko
) 安装了 paramiko
库,但我无法导入它:
$ python3
Python 3.5.2 (default, Jul 5 2016, 12:43:10)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'paramiko'
但是当我使用 pip3 install paramiko
安装它时,import paramiko
行有效!
我可以坚持使用 pip
版本,但我想分发这个程序,将所有依赖项作为 APT 包提供会非常方便。
为什么 Python 可以导入 pip
版本,而不是 APT 版本?
可能 apt 包安装到 python3 无法识别的目录,也就是说,不在 sys.path
之一。比较 python3-paramiko 的安装目录和 python3 -c 'import sys;print(sys.path)'
.
的输出
另外,python 包依赖于 pip 安装的包是个好习惯。因为您可以通过 setuptools
分发您的包并在其中配置您的依赖项。这使您的程序跨平台。
我用 Ubuntu 的 APT 存储库 (sudo apt-get install python3-paramiko
) 安装了 paramiko
库,但我无法导入它:
$ python3
Python 3.5.2 (default, Jul 5 2016, 12:43:10)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'paramiko'
但是当我使用 pip3 install paramiko
安装它时,import paramiko
行有效!
我可以坚持使用 pip
版本,但我想分发这个程序,将所有依赖项作为 APT 包提供会非常方便。
为什么 Python 可以导入 pip
版本,而不是 APT 版本?
可能 apt 包安装到 python3 无法识别的目录,也就是说,不在 sys.path
之一。比较 python3-paramiko 的安装目录和 python3 -c 'import sys;print(sys.path)'
.
另外,python 包依赖于 pip 安装的包是个好习惯。因为您可以通过 setuptools
分发您的包并在其中配置您的依赖项。这使您的程序跨平台。