关于这个问题有很多问题,而且我已经做了很多尝试并且可能已经搞砸了......
但是让我坚持真正的问题:我有一个初出茅庐的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中。我不知道如何解除这个。
答案 0 :(得分:2)
如果您希望在venv内部或在venv内的另一台机器上复制现有环境,请在原始环境中执行此命令:
pip freeze > requirements.txt
在另一台机器上或虚拟环境内(运行path/to/venv/bin/activate
后),执行:
pip install -r path/to/requirements.txt
这应该保存并恢复您的环境。