我已经在 Django 项目上工作了一段时间,完成后,我想部署它,以便我的同事可以使用它。我有一台没有互联网连接的虚拟机(Windows Server 2019)。我在那里复制了我的 Django 项目,但我面临的第一个问题是 Python 包。由于我的项目有自己的虚拟环境,因此我认为通过复制该项目,一切都会正常。但是,我必须使用轮文件离线重新安装所有软件包。这让我质疑虚拟环境的目的。
我还打算使用 Apache 服务器来部署它。
building 'mod_wsgi.server.mod_wsgi' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for mod_wsgi
Running setup.py clean for mod_wsgi
Failed to build mod_wsgi
ERROR: Could not build wheels for mod_wsgi, which is required to install pyproject.toml-based projects
寻求有关在无法访问互联网的虚拟机上部署我的网站(以及可能的多个站点)的最佳方法的指导。非常重视您的帮助,提前感谢您的帮助。
在本地 django 项目中,您只需创建一个包含所有必需包的文件即可:
pip freeze > requirements.txt
然后,在部署文件中,您可以使用命令
pip install -r requirements.txt
下载需求文件中列出的所有软件包。请确保将“3.10”更改为您想要使用的正确的 Python 版本。
on:
release:
types:
- published
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python version
uses: actions/setup-python@v1
with:
python-version: '3.10'
- name: Create and start virtual environment
run: |
python -m venv venv
source venv/bin/activate
- name: Install dependencies
run: pip install -r requirements.txt --no-cache-dir
然后随意压缩工件,或其他:
- name: Zip the artifact
run: zip -r python-app.zip . -x "venv/*"
- name: Upload zipped artifact for deployment jobs
uses: actions/upload-artifact@v3
with:
name: python-app
path: python-app.zip