python的虚拟环境管理工具venv使用方法介绍及与nodejs的包管理方式对比
2024-10-21 04:20:33
一、nodejs 包管理方式
我们知道, nodejs的包管理工具npm可以安装项目所需要的包,安装方法及区别如下:
npm i module_name -g 全局安装 npm i module_name -S 写入到 dependencies 对象 npm i module_name -D 写入到 devDependencies 对象 只在开发时候需要,上线则不需要
在项目的根目录,我们可按需执行三种安装方法,完成相关第三包的安装。
同时,安装的第三方包默认会保存在生成的node_modules文件夹中,安装的包的列表会默认保存在package.json文件中。
这样,我们可以在项目迁移过程中,很方便的使用npm install 然后安装所有package.json里面所列出的所有的包。
我们发现,nodejs的包管理工具,可以很方便地将包安装到我们需要的地方,而且会自动生成node_modules 及package.json 。
二、python 包管理方式
可惜的是,python 的pip包管理工具没有这么方便地实现类似nodejs包管理工具的功能,只能利用其它方式手动地生成包及包管理工具。
这里不推荐使用pipenv来管理python的包,推荐使用python3 自带的venv的方法来管理包。
生成py_modules(类似于nodejs的node_modules)文件步骤如下:
python -m venv py_modules // 安装py_modules ,这里存放安装的包
(windows) py_modules\Scripts\activate.bat // 执行启动本地包环境 (linux)source py_modules\bin\activate // 执行启动本地环境报
这样我们就可以利用pip install 包名 ,来安装包到本地的py_modules中,而不是安装到全局
生成requirements.txt (类似于package.json)包列表文件方法如下:
pip freeze >requirements.txt //将所有安装的包列出到requirements.txt 中
可以利用如下方式来安装requirements.txt 里面所有的python包 (类似于nodejs的npm install)
pip install -r requirements.txt pip install --index-url https://pypi.douban.com/simple -r requirements.txt (国内下载包经常出错,建议使用豆瓣的源)
至此,我们将python的包管理方式,手动实现的和nodejs的包管理方式一致。
最新文章
- sqlmap和burpsuite绕过csrf token进行SQL注入检测
- 浅析“依赖注入(DI)/控制反转(IOC)”的实现思路
- IOS VFL屏幕自适应
- css3 -- 网页字体
- 经典C语言面试题
- OverHust
- m序列产生器
- 【笔记】归纳js getcomputedStyle, currentStyle 以及其相关用法
- Java学习笔记 抽象类 接口 多态
- jmeter简单得压力测试
- python基础(字符串常用方法)
- analyse web.xml of hello1
- EOS.IO Technical White Paper v2
- HDOJ 2001 ASCII码排序
- Numpy copy &; deep copy
- 基于脚本的nodemanager管理器
- 《Linux内核分析》第三周:Linux系统启动过程
- POJ - 3436 ACM Computer Factory(最大流)
- 【Linux系统编程应用】Linux音频编程基础(一)【转】
- Spring重复扫描导致事务失败的解决方案及深入分析
热门文章
- 【Python爬虫案例学习】Python爬取天涯论坛评论
- Python格式化输出——format用法示例
- Codeforces Round #588 (Div. 1)
- count和distinct
- 完美解决SpringMVC中静态资源无法找到(No mapping found for HTTP request with URI)问题
- delphi 格式转换
- 分布式系统根基:物理时钟和Lamport逻辑时钟
- python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题
- 【Kafka】Exactly Once语义与事务
- javascript:void(0)的含义