如果我使用 pip 安装模块,我如何确保其他人可以在不安装该模块的情况下运行我的程序?

Posted

技术标签:

【中文标题】如果我使用 pip 安装模块,我如何确保其他人可以在不安装该模块的情况下运行我的程序?【英文标题】:If I install modules with pip, how can I make sure other people can run my program without having that module installed? 【发布时间】:2017-06-17 07:09:18 【问题描述】:

我正在制作一个使用 Pymysql 的程序,我希望人们能够在不通过手动安装 PyMySql 的情况下运行我的程序,有什么方法可以实现吗?

我已经尝试编译为 .pyc 但这似乎不起作用,实际上当我卸载 PyMySql 时它不再起作用了。

PS:可能有更好的语言可以做到这一点,但这是学校的家庭作业,只能使用 python,也对不起我的英语不好

【问题讨论】:

您可以使用pyinstaller 或py2exe,但听起来任务要求您在不使用任何第三方包的情况下完成任务。也许他们希望您使用内置模块sqllite3? @pbreach 我需要使用远程数据库,我认为 sqllite3 做不到 【参考方案1】:

由于 PyMySQL 具有 MIT 许可证,因此您可以重新分发它而不会产生任何法律问题,而且它也是一个纯 python 实现,因此它运行在哪个操作系统上并不重要。

只需转到您的python库文件夹并查找模块文件夹并将其复制到您的项目文件夹中,之后您可以卸载并且python应该能够从您的项目文件夹中导入它,您只需发送您的作业包含的模块。

python库文件夹根据你的操作系统而有所不同,你可以看看this answer如何找到模块位置。

【讨论】:

【参考方案2】:

使用 cx_freeze、pyinstaller 或 virtualenv。 或复制代码并放入您的。阅读python导入

【讨论】:

以上是关于如果我使用 pip 安装模块,我如何确保其他人可以在不安装该模块的情况下运行我的程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何用pip为Python3安装模块

如何用pip为Python3安装模块

如何用pip为Python3安装模块

安装第三方模块

如何在 Ubuntu 上安装 pip

python 之安装第三方模块