pip/conda导出 requirements.txt 注意事项

Posted 刘梓枫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pip/conda导出 requirements.txt 注意事项相关的知识,希望对你有一定的参考价值。

文章目录


前言

Python 提供了强大的模块功能,能够方便开发者更加易于进行包的管理。
怎么将当前环境的安装包依赖信息导出呢?
pip/conda提供了生成 requirements.txt 的功能,可以方便开发者在新的环境下进行一步式的依赖项安装。


一、pip

有两种方式:

eg1:pip freeze

pip freeze > requirements.txt #可能会丢失依赖包的版本号
# 或者
pip list --format=freeze> requirements.txt

生成requirements.txt,pip freeze会将当前PC环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包.耗时耗力其实是不可取的。

eg2: pipreqs

使用pipreqs,这个工具的好处是可以通过对项目目录的扫描,发现使用了哪些库,生成依赖清单。

step1:安装

pip install pipreqs

step2:使用

在python项目的根目录下 使用 pipreqs ./

pipreqs ./ --encoding=utf8
INFO: Successfully saved requirements file in ./requirements.txt

step3:复现

最后生成出来的requirements.txt,可以根据这个文件下载所有依赖。

pip install -r requirements.txt
#临时换源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

二、conda

导出

conda list -e > requirements.txt

导入安装

 conda install --yes --file requirements.txt

导出 yml 文件方式

conda env export > freeze.yml

安装

  conda env create -f freeze.yml

命名空间“NodeJS”没有导出成员“Require”

【中文标题】命名空间“NodeJS”没有导出成员“Require”【英文标题】:Namespace 'NodeJS' has no exported member 'Require' 【发布时间】:2021-06-05 14:57:51 【问题描述】:

我是 Electron 的新手。我只是按照本指南进行操作: https://www.geeksforgeeks.org/integrate-angular-7-with-electronjs/?ref=rp

但是,我不知道为什么,我无法继续第 4 步,访问电子,并且在构建甚至只是服务时不断弹出这个。

错误:node_modules/electron/electron.d.ts:6594:21 - 错误 TS2694:命名空间“NodeJS”没有导出的成员“Require”。

6594 要求:NodeJS.Require; ~~~~~~~

npm 错误!代码生命周期 npm 错误!错误号 1 npm 错误! pemberkasan@0.2.0 电子:ng build --prod && electron . npm 错误!退出状态 1 npm 错误! npm 错误! pemberkasan@0.2.0 电子脚本失败。 npm 错误!这可能不是 npm 的问题。上面可能还有额外的日志输出。

我希望这里的任何人都能理解这一点并能够解决这个问题。谢谢!因为我的目标是连接 ipcMain,使用我在 Angular 服务上触发的 ipcRenderer。

【问题讨论】:

【参考方案1】:

我相信这个问题的发生是因为旧版本的 @types/node,因为 Angular 使用 TypeScript 作为其主干。

如果更新是重大更改,npm update 本身将无法工作。

为了解决这个问题,请更新您的package.json 以使用最新版本的@types/node,此时写14.14.33。您可以通过编辑该文件来手动更新它。

更新您的@types/node 后,再次运行npm install,然后提供它,它应该可以工作。

如果仍然失败,请使用 npm uninstall -g @angular/cli,然后使用 npm install -g @angular/cli 将您的 Angular CLI 更新到最新版本。您可能正在使用过时的 Angular CLI。

【讨论】:

【参考方案2】:

试试这两个步骤:

    删除 node_modules 文件夹并运行

$ npm install

    如果这不起作用,可能与过时的 @types/node 依赖项有关。尝试运行:

$ npm update @types/node

【讨论】:

试过了,但对我不起作用..可能还有其他想法吗?

以上是关于pip/conda导出 requirements.txt 注意事项的主要内容,如果未能解决你的问题,请参考以下文章

pip conda apt-get区别

2020-04-26 Window安装Anaconda后,python、pip、conda不是内部或者外部命令

Python安装第三方库(pip/condaeasy_installsetup.py)

Python将依赖包导出到requirements.txt文件

Python将依赖包导出到requirements.txt文件

命名空间“NodeJS”没有导出成员“Require”