python-3.x - python虚拟环境部署最佳实践
问题描述
对不起,如果这在另一篇文章中得到了回答。
我对 python 非常陌生,并且正在学习虚拟环境。我知道我应该在虚拟环境中安装所有库并创建requirement.txt,以便其他人可以使用它进行安装。但是,我不确定部署到生产的最佳实践是什么?
我问的原因是没有人可以访问生产环境,部署是通过预定义的管道,我的理解是它将压缩我所有的代码并将其部署到生产中,没有人认为进入生产环境做任何手工工作。我可以尝试让管道运行脚本以根据requirement.txt安装所有库,但我不确定防火墙设置是否相同。我也应该打包这些库吗?
另外,我应该如何触发python脚本?我应该有一个包装脚本在调用 python 脚本之前激活 vevn 并在之后停用它吗?还是有更简单的方法?
解决方案
为了让您的程序在任何地方工作,无论是生产还是开发,它都需要所需的库。通常所做的是,我们在服务器上创建一个新的虚拟环境(就像 Booboo 所说的'python -m venv <env_name>')并安装所有必需的包(pip install -r requirements.txt)('requirements. txt' 应该在您的开发机器上使用 'pip freeze > requirements.txt' 创建)
既然你说不允许任何人直接访问生产服务器,那肯定有一些步骤,你的系统管理员希望你遵循。在这种情况下,只有他/她可以帮助您。至于防火墙,如果您的程序服务于某个端口,并且如果您的程序必须可以从 localhost 以外的其他计算机访问,则必须打开该特定端口。这是您的服务器管理员应该为您做的事情。
推荐阅读
- java - 如何计算几何级数之和
- c++ - 在openGL中多次绑定缓冲区
- android - 对于三星的某些设备,Camera2 API 的帧速率低于 1
- xml - 如何在 Libre Office 平面 XML (fods) 文件中将字符串标记为粗体?
- django-rest-framework - 如何在空列表的drf中使用“__in”选择所有?
- html - 如何在q单行的html列表中显示html表单?
- angularjs - 我正在尝试使用 google-chart 指令制作图表。但我的图表没有显示
- eclipse - 无法使用 eclipse scala IDE 在 scala 编辑器中设置断点
- c++ - 带有静态库的 Android Studio 中的本机 C++ 代码
- javascript - 如何在本机反应中加密 SD-CARD 中的视频文件