python - 如何知道其他人的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 包版本?
解决方案
如果你只从以前的程序员那里继承了代码,没有任何支持文件,我认为你很不走运。只有几条可能的路要走:
尝试手动找出哪个环境可以工作(看来你正在这样做)
获取最后一个工作示例并尝试从 venv 获取已安装的软件包。即使它是某种非工作副本,您也可以进入 venv 子目录并查看其中的内容
改进代码,直到它适用于最新版本(最终可能是您想要的位置)。
看不到任何其他可能性。
推荐阅读
- android - Android Fragment:进入和返回的不同动画
- java - 如何修复错误:未找到 ID 为“com.google.gms:google-services:4.2.0”的插件
- r - 提取以特定预定义字符串正则表达式开头的行?
- python - 我不能在 WSL Ubuntu 上使用 pip
- c# - Mongo DB C# 驱动程序 - 如何定义没有属性的复合 ID?
- npm - npm 组存储库在 nexus 3 中的意外包解析行为
- django - DJANGO 如何进行可以在两个值之间进行过滤的 Q 查询?
- docker - 我尝试在 docker 中部署 gRPC (go) 服务器并在本地端口中公开端口,但端口绑定不起作用
- bash - 为非交互式 shell 获取 .bashrc 的正确方法
- python - 为什么此代码在尝试在 for 循环中输入时显示运行时错误?