python – pyinstaller:AttributeError:’module’对象没有属性’RSA’

前端之家收集整理的这篇文章主要介绍了python – pyinstaller:AttributeError:’module’对象没有属性’RSA’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的python文件可以直接使用python运行:

python detectIPConflict.py

但是,当PyInstaller打包的脚本时:

pyinstaller --onefile detectIPConflict.py
./dist/detectIPConflict

出现错误

WARNING: No route found for IPv6 destination :: (no default route?)
Traceback (most recent call last):
  File "

我也在第19行寻求scapy / crypto / cert.py:

from Crypto.PublicKey import *

我找不到为什么会发生这个错误.
我很困惑.

有人可以帮忙吗?

版本信息:

> Python:2.7.6
> pyinstaller:3.1.1
> scapy:2.3.2(由pip命令安装)
> pycrypto:2.6.1

这是detectIPConflict.py:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from scapy.all import *

def ip_conflict():
    ipscan='10.2.86.190/23'
    ip_dict = dict()
    ip_me = get_if_addr('eth0')
    mac_me = get_if_hwaddr('eth0')
    print "--------IP ME---------"
    print ip_me,"--",mac_me
    print "----------------------"
    ip_dict[ip_me] = mac_me
    try:
        ans,unans=srp(Ether(dst="FF:FF:FF:FF:FF:FF")/ARP(pdst=ipscan),iface="br0",timeout=2,verbose=False)
    except Exception,e:
        print str(e)
    else:
        print ("   MAC            --   IP   ")
        for snd,rcv in ans:
            list_mac=rcv.sprintf("%Ether.src% -- %ARP.psrc%")
            mac = rcv.sprintf("%Ether.src%")
            ip = rcv.sprintf("%ARP.psrc%")
            # print mac,'-->',ip
            if ip not in ip_dict:
                ip_dict[ip] = mac
    for has_ip in ip_dict.keys():
        print has_ip,"------ " + ip_dict[has_ip]
if __name__ == "__main__":
    ip_conflict()
最佳答案
我通过修改python2.7 / dist-packages / scapy / crypto / cert.py代码修复了这个错误
修改第19,20,21行:

from Crypto.PublicKey import RSA
from Crypto.Cipher import ARC2
from Crypto.Hash import MD2

这适合我.

但是,我不知道为什么pyinstaller无法识别’import *’.
感谢任何解释.

@H_502_70@

猜你在找的Python相关文章