如何打包不在标准库中的python模块

如何打包不在标准库中的python模块,python,pymysql,Python,Pymysql,我有一个脚本,我想在其他机器上发布,但是它有一个依赖模块,它不是python标准库的一部分。更具体地说,我想使用pymysql库。当我在本地机器上时,我可以只使用pip install pymysql,但我想知道在打包/分发我的脚本时是否有其他选项,以便其他人不必运行pip install pymysql 我在其他计算机上的当前错误是: 导入错误:没有名为pymysql的模块您可以在setup.py文件中定义依赖项。尝试这样做: setup(…,install_需要=['pymysql'])

我有一个脚本,我想在其他机器上发布,但是它有一个依赖模块,它不是python标准库的一部分。更具体地说,我想使用pymysql库。当我在本地机器上时,我可以只使用pip install pymysql,但我想知道在打包/分发我的脚本时是否有其他选项,以便其他人不必运行pip install pymysql

我在其他计算机上的当前错误是:
导入错误:没有名为pymysql的模块

您可以在
setup.py
文件中定义依赖项。尝试这样做:

setup(…,install_需要=['pymysql'])
如果您正在使用
setuptools
打包库。以下是一些文档:

这个问题可能对您有更多帮助:

这样,如果有人安装了您的库,它也会自动安装所有依赖项

如果需要定义GitHub存储库的依赖项,可以定义一个
requirements.txt
文件,并将其与主代码一起保存在存储库中(而不是任何文件夹中)。这就是您的外观:

pymysql
只有一行包含了需求。如果还有,只需在下一行键入:

pymysql
numpy
pandas
如果有人克隆您的存储库,他们将需要在克隆文件的目录中执行以下命令:

python3 -m pip install -r requirements.txt

为了给出更多的上下文,请考虑以下应用:/MyStudio.MyScript。Py--- StupU.Py在MyScript。Py中导入pYMySQL。我正试图将其推送到git repo,让其他人克隆并运行myScript.py。他们是否只需要运行python setup.py就可以下载所有依赖项?如果您将其作为PyPi包上载,则此安装文件将运行良好。您还可以使用
requirements.txt
文件定义GitHub repo的依赖项。我会把这个加到我的答案中。