【发布时间】:2018-05-22 02:46:40
【问题描述】:
我在 Python 3.6 中编写了一个使用模块 pycryptodome 的加密程序,特别是这些导入:
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto.Random import get_random_bytes
该程序可以运行,但如果用户自己安装了pycryptodome 模块,它就无法使用。
有没有办法以某种方式包含该软件包,或者我可以创建一个“首次安装”来为最终用户安装它?
【问题讨论】:
-
您可以复制所有加密文件并将它们与您的脚本一起发送,但我认为只有“首次设置”功能会更有意义。
-
您的项目是否也托管在 pip 上?
-
首先,我建议使用密码学而不是 pycryptodome。其次,有两种选择:1)Python 打包,需要用户安装 Python;2)PyInstaller。
-
我的项目没有托管在 pip 上。我刚刚开始使用 Python 的社区功能,还不确定其中大部分是如何工作的。
-
对于分发,我推荐
PyInstaller,但如果你是围绕源代码发布,那么我推荐using a requirements file with pip。如果这对您的用户来说太难管理并且他们信任您,那么如果导入失败,也许您可以this answer 安装所需的模块。
标签: python python-module end-user