繁体   English   中英

将 python 项目从机器 A 移动到机器 B,包括外部库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM