Ubuntu Python "No module named paramiko"

Ubuntu Python "No module named paramiko"

所以我尝试在 Ubuntu 和 Python 2.7 上使用 Paramiko,但是导入 paramiko 会导致此错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named paramiko

这个网站上的其他问题对我没有帮助,因为我是 Ubuntu 的新手。

以下是我 运行 检查的一些重要命令:

sudo pip install paramiko
pip install paramiko
sudo apt-get install python-paramiko

Paramiko 做了 "install"。这些是我用于 "install" paramiko 的唯一命令。我是 Ubuntu 的新手,所以如果我需要 运行 更多命令,请交给我。

which python
/usr/local/bin/python

python -c "from pprint import pprint; import sys; pprint(sys.path);"
['',
 '/usr/local/lib/python27.zip',
 '/usr/local/lib/python2.7',
 '/usr/local/lib/python2.7/plat-linux2',
 '/usr/local/lib/python2.7/lib-tk',
 '/usr/local/lib/python2.7/lib-old',
 '/usr/local/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/site-packages']

在 python 解释器中,我 运行 help("modules") 和 Paramiko 不在列表中。

两个 paramiko 文件夹位于 usr/local/lib/python2.7/dist-packages

简短版本:您正在混合 Ubuntu 的 Python (/usr/bin/python) 的打包版本和本地构建和安装的版本 (/usr/local/bin/python)。

长版:

  • 您使用 apt-get install python-paramiko 将 Ubuntu 的官方 Paramiko 软件包安装到 /usr/lib/python2.7/dist-packages
  • 您使用(我假设)Ubuntu 的 pip 版本,它安装到 /usr/local/lib/python2.7/dist-packages。 (参见 here。)
  • 您使用了 Python 的本地构建版本,因为它是本地构建的,所以它使用 /usr/local/lib/python2.7 而不是 /usr/lib/python2.7,并且因为它没有 Debian/Ubuntu 自定义,它不检查使用 dist-packages.

解决方案:您应该可以将 /usr/local/lib/python2.7/dist-packages 添加到 /usr/local/bin/pythonsys.path,但由于您使用的是 Ubuntu,最简单的做法是让 Ubuntu 为您完成工作:

  • 使用 /usr/bin/python 而不是本地版本。
  • 尽可能使用 Ubuntu 的包(即使用 apt-get 而不是 pip)。
  • 其余部分使用 virtualenv(以在 Ubuntu 打包和个人安装的模块之间保持清晰的分离)。

我什至会卸载 Python 的本地版本并删除 /usr/local/lib/python2.7,以确保不会再出现不匹配的情况。如果你不想那么激烈,那么你可以编辑你的 $PATH 把 /usr/bin 放在 /usr/local/bin 到 运行 默认情况下 Python 的系统版本。

尝试从 https://github.com/paramiko/paramiko 下载 zip 文件,运行 在解压缩的目录中执行此命令:

python setup.py install

python中还有另外两种添加模块的方法:

第一个:

  1. 下载包。
  2. 创建目录并将包粘贴到其中。
  3. 点击终端:
  4. 导出 PYTHONPATH=$PYTHONPATH:path_of_package

第二个:

  1. 打开python解释器:
  2. import sys
  3. sys.path.insert(0, "path_of_package")

尝试输入 pi 然后点击,这会给你这个

:$圆周率

pic piconv pidstat pinentry-curses ping6

       pip3             pivot_root       

pic2graph pidof pinentry ping pinky

        pip3.6      

然后你输入 whereis pip3

$ whereis pip3

pip3: /usr/local/bin/pip3.6 /usr/local/bin/pip3

xg@xx-ppmaster:/xg/scripts/pyth

$ sudo /usr/local/bin/pip3 安装 paramiko

这应该让你安装 paramiko

有关 python 安装的更多信息

https://danieleriksson.net/2017/02/08/how-to-install-latest-python-on-centos/

尝试仅通过命令安装。

  1. 使用此命令从 git 下载 paramiko 包:git clone https://github.com/paramiko/paramiko.git
  2. 进入解压目录然后运行export PYTHONPATH=$PYTHONPATH:<path_to_paramiko>
  3. 如果你发现没有找到 libffi 包,那么 运行 这个命令:sudo apt-get install libffi6 libffi-dev 如果你没有正确安装 python dev 的头文件和静态库,那么 运行 这个命令:sudo apt-get install python-dev

尽情享受吧:)

另外,注意python的版本,如果是python3报错,那就安装python3的paramiko。

如果您使用的是 Python 3,请输入以下命令

$ sudo -H pip3 install paramiko --ignore-installed