1

我正在尝试使用pyinstaller -F --key="123456" my.py来加密 exe,但得到了这个错误: 在此处输入图像描述

这是 my.py 的内容,不需要额外的文件或数据:

import requests
from bs4 import BeautifulSoup


def get_page_source(page_num):
    print('Crawling page %d' % page_num)

    url = 'http://books.toscrape.com/catalogue/page-%d.html' % page_num
    r = requests.get(url)
    return r.text


def get_book_info(page_source):
    soup = BeautifulSoup(page_source, features='lxml')
    titles = soup.select('h3 > a')
    for title in titles:
        print(title.get('title'))


if __name__ == '__main__':
    # 1-50
    for i in range(1, 51):
        page_source = get_page_source(i)
        get_book_info(page_source)

不知道如何解决它。当我停止使用 --key 命令时它工作正常。

PyInstaller==3.4 Python==3.6

4

1 回答 1

2

这是已知的错误,这是因为 Pyinstaller 加密与pycryptodome不兼容。所以你需要安装旧的PyCrypto才能让它工作。

这里有一个很好的答案安装旧的PyCrypto.

pip install pycrypto
于 2019-07-06T07:50:39.623 回答