所以我想用Pythion在Ubuntu上使用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做了“安装”。这些是我用来安装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的系统版本。

关于python - Ubuntu Python“没有名为paramiko的模块”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28991319/

10-15 19:56