我得到了一个没有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会抛出错误,如果我评论另一个包显示,我也不知道我的应用程序真正用于什么工作。
提前致谢!
答案 0 :(得分:2)
您可以运行pip freeze
(与virtualenv之前使用的系统python相关),这将为您提供已安装软件包的列表;
然后使用以下内容过滤该列表:
设置中的 1)INSTALLED_APPS
2)同时检查所有from
和import
语句(搜索项目)
答案 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