问题描述
您是否将requirements.txt
中的所有版本锚定为一个特定的数字?这是正确的方法吗?有什么方法可以获取不破坏我的应用程序的最新版本?为了不丢失安全更新等。
解决方法
如果新代码语法不向后兼容,则安装最新的依赖项可能会破坏您的应用程序。这是维护requirements.txt
文件的方法。
- 每次我为新项目开发时都创建一个新的虚拟环境
- 在虚拟环境中安装所有依赖项
- 从该虚拟环境运行
pip freeze > requirements.txt
以生成文件 - 在
Readme
文件中添加Python版本
通过这种方式,我始终可以肯定地确定Python版本和构建应用程序所依赖的版本。当然,这不能解决可能与操作系统类型/版本兼容性相关的其他问题。
创建了诸如Docker之类的工具来解决所有此类依赖性和跨平台兼容性问题,因此值得探索。
编辑
如果您仍然希望始终拥有该软件包的最新版本,只需删除版本号并保留软件包名称即可。
例如代替mysql-connector==2.2.9
使用mysql-connector