Django:确定实际使用的pip包

时间:2014-11-28 20:14:26

标签: django package pip virtualenv

我得到了一个没有virtualenv的Django项目。现在迁移到virtualenv和我之前创建的requirements.txt是巨大的,并且不能在virtualenv中安装(许多错误如下所示)。如何生成所需包的最小列表?或者在任何地方都有参考?

Could not find any downloads that satisfy the requirement PIL==1.1.7 (from -r requirements.txt (line 8))
Some externally hosted files were ignored (use --allow-external PIL to allow).
Cleaning up...
No distributions at all found for PIL==1.1.7 (from -r requirements.txt (line 8))

不仅PIL会抛出错误,如果我评论另一个包显示,我也不知道我的应用程序真正用于什么工作。

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以运行pip freeze(与virtualenv之前使用的系统python相关),这将为您提供已安装软件包的列表;

然后使用以下内容过滤该列表:

设置

中的

1)INSTALLED_APPS

2)同时检查所有fromimport语句(搜索项目)

答案 1 :(得分:0)

我遇到了同样的问题,并且在使用PIP安装PIL时出现问题,因为默认的Python回购中没有PIL 1.7。

最简单的解决方法是将这些选项添加到pip:

--allow-external PIL --allow-unverified PIL

例如:

pip install -r requirements.txt --allow-external PIL --allow-unverified PIL

这个问题是一个潜在的安全问题,你不想在生产服务器上这样做! :)

你的选择是使用Pillow PILL的Pillow:

来自Pillow author的评论,您应该验证它是否适用于您的代码。

或者尝试PIL 1.1.6,这是Python Repos:

或创建您自己的回购并包含PIL 1.1.7来源。

或者,如果您在Linux系统上使用您的发行版软件包管理工具安装PIL并从您的需求文件中删除PIL,然后重建您的virutalenv。

你可以在基于Debian的发行版上这样:

sudo apt-get install python-imaging

Red Hat这样发布:

sudo yum install python-imaging

相关问题