gpt4 book ai didi

python - 将虚拟环境项目从本地迁移到服务器(flask 项目),必须重新安装依赖项?

转载 作者:太空狗 更新时间:2023-10-29 14:38:19 25 4
gpt4 key购买 nike

我已经在本地机器的虚拟环境中创建了一个 Flask 应用程序,我可以在本地运行它(在 http://localhost:5000)。

然后我把这个项目放在一个 repo 中,然后我去我的服务器并 git clone 这个项目。

本地机器和服务器上的所有文件都是相同的。

然后我想通过尝试在服务器上测试这个虚拟环境 .venv/bin/activate

但是我遇到了一个错误。它说我没有 flask !:

Traceback (most recent call last):
File "__init__.py", line 1, in <module>
from flask import Flask
ImportError: No module named flask

我假设我必须先在虚拟环境中初始化一些东西,比如安装所有依赖项。或者我必须再次 pip install flask 吗? (这样做会有 pip 有趣......)

最佳答案

一般来说,python 环境不能跨机器移植

这意味着您不能可靠地期望跨机器移植虚拟环境。如果您在不同操作系统之间移动内容,则尤其如此。例如,在 Windows 中创建的虚拟环境将无法在 Linux 中运行。

同样,在 OSX 中创建的虚拟环境将无法在 Linux 中运行。有时,您可以获得 Linux > Linux 兼容性,但这是偶然的,不可依赖。

原因很多——一些库需要针对 native 扩展构建,其他库需要兼容的系统库才能工作,等等。

因此,最可靠的工作流程如下:

  1. 可以(但我不建议这样做)将您的虚拟环境放在与您的项目相同的目录中。如果这样做,请确保没有将虚拟环境根目录添加到源代码管理系统。最好将虚拟环境与源代码分开(请参阅 virtualenvwrapper project 项目,了解单独管理虚拟环境的好方法)。

  2. 应该通过运行pip freeze > requirements.txt 创建需求文件。保持此文件更新并将其添加到您的源代码控制系统。在您的目标系统中,只需创建一个 虚拟环境,然后创建pip install -r requirements.txt 以确保正确安装所有要求。这样做将确保还构建和安装了任何 native 扩展。

关于python - 将虚拟环境项目从本地迁移到服务器(flask 项目),必须重新安装依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25225853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com