相关疑难解决方法(0)

Python相当于npm或rubygems

我一直在寻找可以与python一起使用的包管理器.我想在文件中列出项目依赖项.例如,ruby使用Gemfile,您可以使用bundle install.我怎么能在python中实现这一点?

python rubygems npm

59
推荐指数
4
解决办法
2万
查看次数

`pip` 等效于 `package.json' 和 `package-lock.json`

包管理器JavaScript喜欢npmyarn使用 apackage.json来指定“顶级”依赖项,并创建一个锁定文件来跟踪作为结果安装的所有包(即顶级子级依赖项)的特定版本。

此外,package.json允许我们区分顶级依赖项的类型,例如productiondevelopment

对于Python,另一方面,我们有pip。我想pip相当于一个lock-file 将是pip freeze > requirements.txt.

但是,如果您只维护这个单个requirements.txt文件,则很难区分顶级和子级依赖项(例如pipdeptree -r,您需要弄清楚这些)。如果您想删除或更改顶级依赖项,这可能会很痛苦,因为很容易留下孤立的包(据我所知,当您创建一个包时,pip 不会删除子依赖项pip uninstall)。

现在,我想知道:是否有一些约定来处理这些requirements文件的不同类型并区分顶级和子级依赖关系pip

例如,我可以想象有 arequirements-prod.txt只包含生产环境的顶级要求,作为 , 的(简化)等价物package.json,而 arequirements-prod.lock包含 , 的输出pip freeze,并充当我的 -lock文件。此外,我可以有一个requirements-dev.txt用于开发的依赖项,等等。

我想知道这是要走的路,还是有更好的方法。

ps 同样的问题可以问conda …

python dependencies pip requirements.txt conda

14
推荐指数
1
解决办法
4398
查看次数

如何在 MacO 上切换 python3 版本

我正在使用 python 版本 3.10.2,但我想降级到 3.9,因为它与我项目中的库不兼容。我如何使用终端命令来做到这一点?

因此,当我输入python3 --version版本 3.10.2 时,我想将其降级。IDE是pycharm

python terminal pycharm

1
推荐指数
1
解决办法
4291
查看次数