Python 将虚拟环境项目从本地重新定位到服务器(flask项目),是否必须再次安装依赖项?
我已经在本地机器上的虚拟环境中创建了一个flask应用程序,我可以在本地运行它Python 将虚拟环境项目从本地重新定位到服务器(flask项目),是否必须再次安装依赖项?,python,git,flask,pip,virtualenv,Python,Git,Flask,Pip,Virtualenv,我已经在本地机器上的虚拟环境中创建了一个flask应用程序,我可以在本地运行它(http://localhost:5000) 然后我把这个项目放在一个repo中,然后我去了我的服务器,git克隆了这个项目 本地计算机和服务器上的所有文件都相同 然后,我想通过尝试.venv/bin/active 但是我遇到了一个错误,它说我没有烧瓶!: Traceback (most recent call last): File "__init__.py", line 1, in <module>
(http://localhost:5000)
然后我把这个项目放在一个repo中,然后我去了我的服务器,git克隆了这个项目
本地计算机和服务器上的所有文件都相同
然后,我想通过尝试.venv/bin/active
但是我遇到了一个错误,它说我没有烧瓶!:
Traceback (most recent call last):
File "__init__.py", line 1, in <module>
from flask import Flask
ImportError: No module named flask
回溯(最近一次呼叫最后一次):
文件“\uuuu init\uuuuu.py”,第1行,在
从烧瓶进口烧瓶
ImportError:没有名为flask的模块
我假设我必须首先在虚拟环境中初始化一些东西像安装所有依赖项一样,还是必须再次pip安装flask
(那样做会有点滑稽…)
谢谢。一般来说,python环境不能跨机器移植 这意味着您无法可靠地期望跨多台计算机移植虚拟环境。如果要在不同的操作系统之间移动内容,这一点尤其正确。例如,在Windows中创建的虚拟环境在Linux中不起作用 类似地,在OSX中创建的虚拟环境在Linux中也无法工作。有时,您可以获得Linux>Linux兼容性,但这是偶然的,不可依赖 原因有很多——一些库需要根据本机扩展构建,其他库需要兼容的系统库才能工作,等等 因此,最可靠的工作流如下所示:
pip freeze>requirements.txt
创建一个需求文件。保持此文件的更新,并将其添加到源代码管理系统中。在您的目标系统中,只需创建一个空的虚拟环境,然后pip install-r requirements.txt
,以确保所有需求都正确安装。这样做将确保还构建和安装了任何本机扩展- 当您创建原始虚拟环境时,您是否指定了--没有站点包(如果不是),则您的包可能正在使用系统中的元素
- 有些软件包依赖于目标系统上可能缺少的系统安装库
- 您的服务器是否运行在与具有相同操作系统的开发系统类似的硬件集上?如果不是,您的virtualenv在不重新安装软件包的情况下可能无法工作,因为任何C/C++扩展都是为错误的硬件/OS构建的,并且无法工作
所以基本上-是您,或者更可能是系统管理员,确实需要
运行pip install flask
以及其他一些事情 您是否执行了.venv/bin/active
或.venv/bin/activate
?我键入了activate,将编辑我的帖子!另外,如果我输入active,错误消息无论如何都会不同。谢谢你的回复,我选择了2号