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/python
的 sys.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中还有另外两种添加模块的方法:
第一个:
- 下载包。
- 创建目录并将包粘贴到其中。
- 点击终端:
- 导出 PYTHONPATH=$PYTHONPATH:path_of_package
第二个:
- 打开python解释器:
import sys
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/
尝试仅通过命令安装。
- 使用此命令从 git 下载 paramiko 包:
git clone https://github.com/paramiko/paramiko.git
- 进入解压目录然后运行
export PYTHONPATH=$PYTHONPATH:<path_to_paramiko>
- 如果你发现没有找到 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
所以我尝试在 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/python
的 sys.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中还有另外两种添加模块的方法:
第一个:
- 下载包。
- 创建目录并将包粘贴到其中。
- 点击终端:
- 导出 PYTHONPATH=$PYTHONPATH:path_of_package
第二个:
- 打开python解释器:
import sys
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/
尝试仅通过命令安装。
- 使用此命令从 git 下载 paramiko 包:
git clone https://github.com/paramiko/paramiko.git
- 进入解压目录然后运行
export PYTHONPATH=$PYTHONPATH:<path_to_paramiko>
- 如果你发现没有找到 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