[英]Move a python project from machine A to machine B including external libraries
我需要将我的项目从机器 A 复制到机器 B。如果我将项目复制到另一台机器,我需要在此之前为 python 安装所有外部库/框架。 是否可以将所有导入的外部库和框架包含到项目结构中?
例如,我在项目中使用 Flask。 当我不需要在机器 B 中安装 Flask 来运行项目时,我想以某种方式配置我的项目。
如果我想在 java 中解决相同的任务,我只需要创建一个 war/jar 文件。 之后,只需将一个jar文件复制到机器B即可。
机器 B 无法访问互联网,因此我无法使用pip freeze
/ pyinstaller
。
通常,您创建一个requirements.txt
文件并在其中列出项目的所有依赖项,以便可以使用单个安装命令在不同的系统上安装这些依赖项(或在同一系统上重新安装)。 这是@Vignesh Rajendran 给出的答案。
但是,要使此方法起作用,新系统必须具有 Internet 连接。 但既然你说情况并非如此,你可以改用下面的方法。
有一个虚拟环境。 当您需要将项目移动到新系统时,您可以将环境文件夹与源代码一起移动。 你可以在这里找到一个很好的教程。
我的建议是创建一个需求文件/可执行文件
对于需求文件:(选项 1)您可以使用机器 A 中的以下命令创建一个 requirements.txt 文件。
pip freeze > requirements.txt
该文件看起来像这样
numpy==1.18.4
openpyxl==3.0.3
pandas==1.0.3
然后将您的代码与 requirements.txt 文件一起复制到机器 B 并输入此命令
pip install -r requirements.txt
机器 A 中的所有软件包将使用单个命令安装到 B
对于可执行文件:(选项 2)
在机器 A 中安装程序 Pyinstaller 并使用以下命令创建可执行文件
pip install pyinstaller
pyinstaller --onefile yourscript.py
exe 将生成并在 dist 文件夹中可用 将其复制到机器 B
但这需要对文件夹路径和硬编码内容的代码进行一些更改,因为无法在 Maachine B 上编辑 exe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.