如何知道其他人的 Django 项目使用的 python 包版本并相应地安装它们?



我得到了一个包含许多没有文档的python文件的项目。我注意到该文件夹包含manage.py所以我假设它是一个 Django 项目。我想设置环境并运行它。但是,很难找出合适的软件包。

例如,首先我安装了最新版本的deepctr 0.8.0。然后我想运行该项目,它显示错误:ImportError: cannot import name 'SparseFeat' from 'deepctr.inputs'.经过一番研究,我发现这是deepctr版本问题。我降级到deepctr 0.7.0,错误消失了。

然后出现了一个新的错误:"RuntimeError: get_session is not available when using TensorFlow 2.0.然后按照这个问题的建议 https://github.com/OlafenwaMoses/ImageAI/issues/367,我降级到 TensorFlow 1.13

然后这个错误消失了,但出现了一个新错误:ValueError: ('Unrecognized keyword arguments:', dict_keys(['ragged']))。然后在查看此问题后 https://github.com/tensorflow/tensorflow/issues/33479 似乎张量流版本应该是 1.15。最后,项目可以正常运行。

所以我必须尝试不同版本的 python 包并搜索错误消息。有没有办法知道 Django 项目使用的 python 包版本?

如果你只从以前的程序员那里继承了代码,而没有任何支持文件,在我看来你就不走运了。只有几条可能的道路可以走:

  1. 尝试手动找出哪个环境可以工作(似乎您正在这样做(

  2. 获取最后一个工作示例,并尝试从 venv 获取已安装的软件包。即使它是某种非工作副本,您也可以进入 venv sub dirs,看看里面有什么

  3. 改进代码,直到它适用于最新版本(可能是您最终想要的位置(。

看不到任何其他可能性。

我在尝试运行 DeepMatch 的演示笔记本时遇到了同样的问题。

这是修复:from deepctr.feature_column import SparseFeat, VarLenSparseFeat

最新更新