我看到大多数的 python 项目都没有说明项目需要运行在什么版本的 python 环境,所以导致在尝试运行的时候也经常报错,不过我也看到有些项目是在有一个 runtime.txt 的文件来写明 python 版本 python 的不同版本之间不太兼容,没有统一的方式标明项目所需的 python 版本,那么我怎么知道该创建什么版本的虚拟环境呢
python 项目当前好像并没有 php 的 composer 、js 的 npm 这样的包管理工具,我看到很多 github 的 python 项目都是用 requirements.txt 来管理 python 的依赖,不过还是有相当多的项目根本就没有 requirements.txt ,,所以很多 python 项目在 clone 下来尝试运行的时候,经常就是报找不到包,然后我只能遇到一个相关报错就安装一个
以上两个问题让我非常困惑,麻烦懂的大佬帮忙解解惑
1
TArysiyehua 2023-10-18 10:44:07 +08:00
以前野蛮生长,现在一般都要求要 requirements.txt
|
2
TArysiyehua 2023-10-18 10:47:31 +08:00
有 pyproject.toml 或者 runtime.txt 来定义 python 版本
|
3
Hstar 2023-10-18 10:51:40 +08:00
你找的都是什么 python 项目啊,已经很少有这样不友好的开源库了。
要么是在文档里指定 python > 3.7 或者 python <= 3.7 ,要么就是语法简单,完全兼容 python3 。 requirements.txt 是比较老的依赖管理途径了,不支持指定 python 版本,但比较新的 pipenv 或者 poetry 都可以啦。 |
4
thinkershare 2023-10-18 10:51:45 +08:00 1
没有办法知道,python 的依赖管理就是一坨狗屎。
|
5
lplk 2023-10-18 11:27:17 +08:00
我毕业以来项目都会写 dockerfile ,编译好一般直接能跑,通过 dockerfile 就可以看到依赖的环境了。
|
6
tomtao00001 2023-10-18 11:27:24 +08:00
pyenv 管理 python version,
|
7
tomtao00001 2023-10-18 11:27:57 +08:00
@tomtao00001 #5 pdm 管理项目依赖
|
8
makerbi 2023-10-18 12:20:40 +08:00
我现在新项目都在用 PDM 管理了,开发测试生产都没啥问题
|
9
julyclyde 2023-10-18 12:29:19 +08:00
持续维护的软件应该会逐渐跟随 python 的主要版本
并在自己的安装包里写明兼容的版本范围 至于缺乏维护的……建议别沾他们 |
10
cmdOptionKana 2023-10-18 12:31:16 +08:00
> 大多数的 python 项目都没有说明项目需要运行在什么版本的 python 环境
这个前提就错了,后面的就没必要讨论了。 因为大多数 python 项目都会明确版本,自然没啥大问题。 |