我在SO上看到了几个类似的问题,但都涉及特定的软件包。我想知道是否有通用的解决方案。
我正在恢复一些废弃了几年的Django应用程序。需求列表(在org.springframework.dao.DuplicateKeyException: E11000 duplicate key error index: db2.device.$_id_ dup key: { : "815CM0427E0001510" }; nested exception is com.mongodb.MongoWriteException: E11000 duplicate key error index: db2.device.$_id_ dup key: { : "815CM0427E0001510" }
或@Profile(DEV)
@Configuration
public class MongoDevConfig extends AbstractReactiveMongoConfiguration {
@Value("${spring.data.mongodb.uri}")
private String uri;
@Value("${spring.data.mongodb.database}")
private String database;
@Override
public MongoClient reactiveMongoClient() {
return MongoClients.create(new ConnectionString(uri));
}
@Override
protected String getDatabaseName() {
return database;
}
中)不完整,因此我必须安装一些缺少的必需软件包。问题是:那些较早的Django版本与所需软件包的当前版本不兼容。所以,我的问题:
给出了Django版本和特定的软件包名称(甚至更好的软件包名称列表),有没有办法获取该软件包的最新兼容版本(例如setup.py
与该软件包兼容Django 1.8.3)?对于给定的Django版本而言,正确设置环境会很有用
如果程序包仍然存在但已被重命名(例如requirements.txt
或debug_toolbar
)或已重组(例如truncate_words -> Truncator
)。有没有办法从pip或任何地方动态获取此信息?如果将来某天我决定硬着头皮升级所有组件,然后修复代码,那么这将很有用(但现在不是一种选择)。
谢谢。