Virtualenv - 清理未使用的包安装
Virtualenv - Cleaning up unused package installations
所以在过去的几个月里,我一直在开发我的第一个 django web 应用程序,我已经安装了一些我想尝试使用的软件包来解决我的一些问题。但是,我安装、尝试使用的其中一些软件包失败了,然后再也没有卸载过。
有没有办法从 "pip freeze" 给出的列表中查看我的应用程序正在使用哪些包?
这样我就可以卸载应用程序中的一些杂乱内容。有这种混乱是不是一个巨大的缺点?
在以后的开发中,如果我不使用它们,我会立即卸载它们。所以吸取教训:).
我使用的一种方法是使用我的 requirements.txt
文件。从我的 Django 项目的根目录,我创建了一个 requirements/
目录,其中包含以下文件:
requirements/
base.txt
dev.txt
prod.txt
temp.txt
base.txt
包含要在所有环境中使用的软件包,例如 Django==1.8.6
.
然后 dev 将包含基础包和其他包,可能如下所示:
-r base.txt
coverage==4.0.2
然后 temp.txt
包含 dev.txt
并包含我不确定是否会永久使用的软件包:
-r dev.txt
temp_package==1.0
git+https://github.com/django/django.git#1014ba026e879e56e0f265a8d9f54e6f39843348
然后我可以吹走整个 virtualenv 并从适当的需求文件中重新安装它,如下所示:
pip install -r requirements/dev.txt
或者,要包含我正在测试的 temp_package:
pip install -r requirements/temp.txt
我就是这样做的,它有助于将我的沙箱与成品分开。
可能,您可以使用 isort 和 运行 isort myproject/* --diff
来获取 isort 将对您的项目进行的建议更改列表。
在提议的更改中,它列出了未使用的导入。从那里,您可以查看安装在虚拟环境中的包并开始使用 pip 删除它们。这是假设您没有删除导入语句,实际情况可能并非如此。
另一种方法是创建一个新环境并尝试 运行 您的应用。在您的应用 运行 之前,使用错误消息获取您需要的包。不漂亮,但它会工作。
所以在过去的几个月里,我一直在开发我的第一个 django web 应用程序,我已经安装了一些我想尝试使用的软件包来解决我的一些问题。但是,我安装、尝试使用的其中一些软件包失败了,然后再也没有卸载过。
有没有办法从 "pip freeze" 给出的列表中查看我的应用程序正在使用哪些包?
这样我就可以卸载应用程序中的一些杂乱内容。有这种混乱是不是一个巨大的缺点?
在以后的开发中,如果我不使用它们,我会立即卸载它们。所以吸取教训:).
我使用的一种方法是使用我的 requirements.txt
文件。从我的 Django 项目的根目录,我创建了一个 requirements/
目录,其中包含以下文件:
requirements/
base.txt
dev.txt
prod.txt
temp.txt
base.txt
包含要在所有环境中使用的软件包,例如 Django==1.8.6
.
然后 dev 将包含基础包和其他包,可能如下所示:
-r base.txt
coverage==4.0.2
然后 temp.txt
包含 dev.txt
并包含我不确定是否会永久使用的软件包:
-r dev.txt
temp_package==1.0
git+https://github.com/django/django.git#1014ba026e879e56e0f265a8d9f54e6f39843348
然后我可以吹走整个 virtualenv 并从适当的需求文件中重新安装它,如下所示:
pip install -r requirements/dev.txt
或者,要包含我正在测试的 temp_package:
pip install -r requirements/temp.txt
我就是这样做的,它有助于将我的沙箱与成品分开。
可能,您可以使用 isort 和 运行 isort myproject/* --diff
来获取 isort 将对您的项目进行的建议更改列表。
在提议的更改中,它列出了未使用的导入。从那里,您可以查看安装在虚拟环境中的包并开始使用 pip 删除它们。这是假设您没有删除导入语句,实际情况可能并非如此。
另一种方法是创建一个新环境并尝试 运行 您的应用。在您的应用 运行 之前,使用错误消息获取您需要的包。不漂亮,但它会工作。