【问题标题】:How to convert an existing Django app to run in a virtualenv?如何将现有的 Django 应用程序转换为在 virtualenv 中运行?
【发布时间】:2018-07-28 12:27:49
【问题描述】:

关于这个问题有很多,我做了很多尝试,但可能都搞砸了......

但让我坚持真正的问题:我有一个初出茅庐的 Django 应用程序,我想隔离未来对支持软件的更改。我认为放在虚拟环境下就是答案。我需要指导,甚至只是指向正确 Howto 的指针(关于迁移,而不是全新安装)。

我的环境是 Ubuntu 16.04.3 LTS、apache2、python3.5 和 django 2.0。我将升级到下一个 LTS,这就是为什么我想隔离这个应用程序的变化。

复杂的事情是python2和python 3都在这里,而pyhton2是默认的(当你调用“python”时你会得到什么。这让事情变得很奇怪,例如,因为pip3使用默认的python , 所以 'pip3 freeze' 的输出和我在 python3 下运行时得到的结果很不一样,具体原因我也不知道。

过去失败的是我尝试按照针对新安装操作系统的指导进行操作。更重要的是,可能是因为我做错了什么,pip3 存在于我的 $HOME/.local/bin/pip3 中。我不知道如何撤消此操作。

【问题讨论】:

标签: python django virtualenvwrapper


【解决方案1】:

如果您希望在 venv 内部或在 venv 内部的另一台计算机上复制现有环境,请在原始环境中执行以下命令:

pip freeze > requirements.txt

在另一台机器上或虚拟环境内(运行path/to/venv/bin/activate后),执行:

pip install -r path/to/requirements.txt

这应该会保存然后恢复您的环境。

【讨论】:

  • 嗯,是的,这就是环境。现在我如何让 Apache 从它而不是本地环境中提供服务?
  • Use apache's mod_wsgi 。请参阅指令WSGIDaemonProcess 以设置您的 venv 目录的路径。
猜你喜欢
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 2017-06-06
  • 1970-01-01
  • 2018-07-31
  • 1970-01-01
相关资源
最近更新 更多