首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:没有名为传输的模块(Paramiko,Python3.2.5)

ImportError:没有名为传输的模块(Paramiko,Python3.2.5)
EN

Stack Overflow用户
提问于 2013-08-12 03:27:20
回答 1查看 8.8K关注 0票数 4

我安装了PyCrypto和Paramiko (在它们各自的目录中)

代码语言:javascript
复制
python3 setup.py install

两个都安装成功了。但是,当我尝试

代码语言:javascript
复制
import paramiko 

在3.2.5解释器中,我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/paramiko/__init__.py", line 64, in <module>
     from transport import SecurityOptions, Transport
ImportError: No module named transport

我不知道它为什么要这样做,因为我在文件夹中签了名,transport.py模块就在那里。为什么会有一个ImportError

EN

回答 1

Stack Overflow用户

发布于 2013-08-12 08:20:37

看起来Paramiko正在尝试一个相对的导入,在Python 3中这种形式已经不被识别了。见Python 3中的更改。Paramiko中的导入语句应该是

代码语言:javascript
复制
from .transport import SecurityOptions, Transport

(注意前导点),或

代码语言:javascript
复制
from paramiko.transport import SecurityOptions, Transport

您可以修复paramiko源代码,也可以将/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/paramiko添加到您的PYTHONPATH中。两个人都不喜欢。

在运行2to3之前运行了python3 setup.py install工具吗?不过,我不确定这是否能解决这个问题,因为这个工具在这里使用的方式可能无法区分相对导入还是绝对导入。

请检查Paramiko论坛(如果有),并针对Paramiko提交一个bug,以确保Python 3的兼容性。

编辑

看来你已经做过提交错误报告了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18179156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档