我有一个使用django / wagtail的基本网站,我有一个virtualenv。我主要使用带有ARM处理器的nas设备。我最近将它转移到x86-64笔记本电脑上的虚拟机上,无法使用它。
我了解了原因,了解到virtualenv不是一种包装机制。我只是想知道什么是'最好'的方法来拯救django项目,并且可能以某种方式获得安装到virtualenv的pip包列表(因为pip冻结-r将不会运行,因为pip二进制文件用于ARM)。 / p>
有没有一种简单的方法可以做我要求的事情,或者只是尝试复制django文件并重新创建virtualenv会更好吗?
答案 0 :(得分:3)
通常,您会在项目中创建一个requirements.txt
文件,并使其与已安装的软件包保持同步。 https://pip.pypa.io/en/stable/user_guide/#requirements-files
每次执行pip install some_package
时,都必须将该包添加到requirements.txt。确保你固定版本。例如pip install wagtail
安装Wagtail运行。你会看到它选择了最新的。例如' 2.1'。将wagtail==2.1
添加到您的requirements.txt
请注意pip freeze
将转储所有已安装的软件包。但通常情况下,你只会把最高级别的'在requirements.txt中的包(您安装的包)和NOT包依赖树。由于在升级“最高级别”时依赖关系可能会发生变化。封装
回答你的问题:
创建一个新的virtualenv。检查破坏的virtualenv的site-packages目录。所有已安装(但已损坏)的软件包都在那里。包括使用的版本。在新的环境中安装所有这些。例如pip install wagtail==2.1