首页 > 解决方案 > 如何知道其他人的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后,看来 tensorflow 版本应该是 1.15。然后最终项目可以正常运行。

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

标签: pythondjango

解决方案


如果你只从以前的程序员那里继承了代码,没有任何支持文件,我认为你很不走运。只有几条可能的路要走:

  1. 尝试手动找出哪个环境可以工作(看来你正在这样做)

  2. 获取最后一个工作示例并尝试从 venv 获取已安装的软件包。即使它是某种非工作副本,您也可以进入 venv 子目录并查看其中的内容

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

看不到任何其他可能性。


推荐阅读