当前位置: 首页 > news >正文

Pyenv管理Python版本,conda之外的另一套python版本管理解决方案

简介

Pyenv 是一个 python 解释器管理工具,可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢,用过的 python 人都知道,python 虽然是易用而强大的编程语言,但是 python 解释器却有多个版本,而且兼容性也有所差异,有的Linux计算机甚至同时内置python2.7和python3.8两个解释器。另外有些软件依赖于 python 开发的脚本运行必须指定对应的版本才能运行。所以 pyenv 或者 conda 这样的版本管理程序就成了必不可少的工具。

Pyenv 是跨平台的python版本管理工具,它的主要作用是 python 解释器的安装卸载,切换当前 python 的环境等。他的功能与 conda 相似,都可以安装多个 python 并切换使用,但是 pyenv 是直接下载 cpython 的源码进行编译,而 conda 是直接下载编译好的 python 解释器, conda 的 python 内置多种模块导致初始安装 python 体积很大。

Pyenv 切换 python 版本,是通过修改系统变量PATH,更改 python 的路径实现的版本切换,达到版本控制的目的。

Pyenv 与 pip-env,virtualenv等工具的区别,pip-env 和 virtualenv 是 python 的虚拟环境工具,因为 python 大多数时候依赖于现有的模块进行开发,而每个模块又有多个版本,每个 python 程序需要的模块版本都不一样,如果 python 程序安装模块都在解释器公共的位置,这样会导致模块版本冲突。pip-env 和 virtualenv 这样的虚拟环境管理工具就能解决这样的问题,每个 python 脚本有自己的独立环境,但同时也能用公共环境的模块。他们的作用体现在同一个 python 解释器下不同程序的环境管理。Pyenv 是对操作系统内的多个 python 解释器进行管理,他们不是一个层面的东西。

安装方法

1.Windows

(1)安装

使用git克隆安装

需要先安装git工具https://git-scm.com/download/win

# Powershell或Git Bash
git clone https://github.com/pyenv-win/pyenv-win.git $HOME/.pyenv
# cmd控制台
git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv

使用pip安装

# cmd控制台
pip install pyenv-win --target %USERPROFILE%\\.pyenv
# 使用清华大学镜像源安装
pip install pyenv-win --target %USERPROFILE%\\.pyenv -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装在用户目录下的.pyenv目录

(2)添加环境变量

手动添加

变量名:PYENV
值:C:\Users\Admin\.pyenv\pyenv-win变量名:PYENV_ROOT
值:C:\Users\Admin\.pyenv\pyenv-win变量名:PYENV_HOME
值:C:\Users\Admin\.pyenv\pyenv-win变量名:path
值:%PYENV%\bin
值:%PYENV%\shims

或者使用PowerShell执行命令添加

[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('path', $HOME + "\.pyenv\pyenv-win\bin;" + $HOME + "\.pyenv\pyenv-win\shims;" + $env:Path,"User")

2.Linux

(1)安装

Linux系统下pyenv的安装需要git工具因此先安装git:

sudo apt install git

使用git克隆pyenv:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

安装完成后在用户目录就可以看到.pyenv目录了

(2)配置激活

在命令行中执行以下命令:

echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

或者直接在.bashrc文件添加以下内容

export PATH=~/.pyenv/bin:$PATH
export PYENV_ROOT=~/.pyenv
eval "$(pyenv init -)"

激活pyenv

source .bashrc

(3)Pyenv安装依赖

使用pyenv安装python实际上是从github下载CPython源码进行编译,因此需要一些依赖环境,请执行以下命令安装依赖:

sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev
sudo apt-get update

**注意:**某些工具已经存在的可以不用在安装,比如linux系统一般自带wget工具,可以使用命令wget --version如果能看到版本号说明已经存在不用再安装了。

3.Macos

(1)git克隆安装

使用git克隆pyenv:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

安装完成后在用户目录就可以看到.pyenv目录了

配置激活

在命令行中执行以下命令:

echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

或者直接在.bashrc文件添加以下内容

export PATH=~/.pyenv/bin:$PATH
export PYENV_ROOT=~/.pyenv
eval "$(pyenv init -)"

激活pyenv

source .bashrc

(2)Homebrew安装pyenv

Homebrew的安装

macos系统因为没有apt包管理工具,需要使用第三方的Homebrew包管理工具安装软件。

# 方法一
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 执行以上官方(https://brew.sh)的安装命令,但是因为是国外的服务器,安装会很慢。# 方法二
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
# 这个安装方式提供了很多个国内的镜像安装,一般选择清华大学镜像站安装。

Homebrew包管理器体积大概有500M以上,因此安装时要保证网络良好,否则网速过低将会安装失败。

Homebrew常用命令

# 查询可安装包
brew search 软件名
# 安装包
brew install 软件名
# 卸载
brew uninstall 软件名
# 更新Homebrew
brew update 
# 查看 Homebrew 配置信息:
brew config

Homebrew安装pyenv

brew install pyenv

安装完成后在**/usr/local/Cellar/pyenv**目录就可以看到pyenv安装目录了,安装位置层级比较深,为了更好管理pyenv的环境尽量使用git安装。

环境管理

1.安装Python

# 查看可安装的版本
pyenv install --list
# 安装指定版本
pyenv install 3.9.0

pyenv安装的包都在~/.pyenv/versions目录中,每个包单独目录存放方便管理。

(1)Windows

Windows系统中pyenv工具安装python是从python官网的FTP服务器下载安装包,然后再隐藏自动安装到versions目录,安装过程不会修改环境变量。例如pyenv install 3.9.13下载64位python3.9.13安装包。请用管理员权限打开windows终端或者cmd命令行或者powershell执行pyenv命令,否则可能安装不成功。

PS C:\Users\Admin> pyenv install 3.9.13
:: [Info] ::  Mirror: https://www.python.org/ftp/python
:: [Downloading] ::  3.9.13 ...
:: [Downloading] ::  From https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe
:: [Downloading] ::  To   C:\Users\Admin\.pyenv\pyenv-win\install_cache\python-3.9.13-amd64.exe
:: [Installing] ::  3.9.13 ...
:: [Info] :: completed! 3.9.13

因为python官网访问比较慢,也可以使用工具单独下载(https://www.python.org/ftp/python/3.9.13/python-3.9.13-amd64.exe)安装包,然后放到.pyenv\pyenv-win\install_cache目录下,然后再执行pyenv install 3.9.13安装命令,安装过程中还会下载python的多个依赖安装包,过程相对较慢。

(2)Linux

Linux系统中pyenv安装python过程是直接从github下载cpython源码进行编译。

(3)macos

macos系统中pyenv是直接下载python官方的二进制程序,但dev开发包是下载github的cpython源码进行编译。

离线安装

由于国内访问github.com和python.org非常慢,所以如果提示无法访问相关链接导致安装错误,可以采用离线安装的方式进行。手动在CNPM Binaries Mirror (npmmirror.com)下载对应的程序文件,放在.pyenv/cache目录中后再执行安装命令。

mkdir ~/.pyenv/cache  # cache目录不存在则创建
wget https://registry.npmmirror.com/-/binary/python/3.10.10/Python-3.10.10.tar.xz -P .pyenv/cache/
curl https://registry.npmmirror.com/-/binary/python/3.10.10/Python-3.10.10.tar.xz -P .pyenv/cache/
pyenv install 3.10.10

2.查看已安装版本

pyenv可以在系统中安装多个版本切换使用,通过以下命令查看已安装的版本。

pyenv versions

3.更新数据库

pyenv rehash

4.切换Python版本

pyenv shell 3.8.0 # 临时版本切换,仅限于当前终端
pyenv local 3.8.0 # 仅限本次系统登录使用,下次登录操作系统账户将会失效
pyenv global 3.8.0 # 相当于长效的版本,在未手动执行切换前,该版本一直存在并可用。

5.有关问题

(1)安装python环境提示没有lzma库

Traceback (most recent call last):File "<string>", line 1, in <module>File "/home/coderlee/.pyenv/versions/3.10.10/lib/python3.10/lzma.py", line 27, in <module>from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?

执行以下命令安装liblzma-dev包解决

# ubuntu
sudo apt-get install liblzma-dev -y
# centOS
yum install -y xz-devel
# macos
brew install xz

开发者

1.开发包管理

开发包是为开发者准备的包,里面包含C程序开发头文件和静态链接库,因为一般用户不会用到,所以在Linux和macos系统下开发包相对于python解释器是单独存在的,而windows是与解释器集成一同安装。开发包带有dev名称,通过命令安装。

# 安装3.10-dev包
pyenv install 3.10-dev
# 删除3.10-dev包
pyenv uninstall 3.10-dev

pyenv安装的包都在~/.pyenv/versions目录中,比如3.10-dev开发包头文件位于~/.pyenv/versions/3.10-dev/include/python3.10,静态库位于~/.pyenv/versions/3.10-dev/lib/python3.10/config-3.10-x86_64-linux-gnu

2.获取动态链接库

C++嵌入Python的编译和运行都需要libpython3.10.so.1.0,而pyenv安装的开发包没有动态链接库libpython3.10.so.1.0,如果直接编译将会报错:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libmm.a(longobject.o): relocation R_X86_64_PC32 against symbol `PyExc_OverflowError' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status

这时候就必须通过安装python3.10来获取libpython3.10.so.1.0动态链接库,可以用pyenv工具来安装,也可以用miniconda3来创建。以miniconda创建的py310环境(即python3.10解释器)为例,将~/miniconda3/envs/py310/lib/libpython3.10.so.1.0拷贝到~/.pyenv/versions/3.10-dev/lib/python3.10/config-3.10-x86_64-linux-gnu目录下,并为其创建软链接命名为libpython3.10.so,这样编译才能通过。

虚拟环境管理

pyenv-virtualenv 其实和 virtualenv 工具是一样的,他可以为每个程序创建与公共环境隔离的独立环境,并且可以人已安装模块。

1.Linux

git克隆安装

git clone https://github.com/pyenv/pyenv-virtualenv.git $.pyenv/plugins/pyenv-virtualenv

2.macos

brew install pyenv-virtualenv
$ eval "$(pyenv init -)"
$ eval "$(pyenv virtualenv-init -)"

3.创建虚拟环境

pyenv virtualenv 3.9.5 venv # 创建venv虚拟环境(一般就是当前目录下创建venv,可指定绝对路径)
pyenv activate venv # 激活venv环境
pyenv deactivate venv # 退出venv环境

相关文章:

Pyenv管理Python版本,conda之外的另一套python版本管理解决方案

简介 Pyenv 是一个 python 解释器管理工具&#xff0c;可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢&#xff0c;用过的 python 人都知道&#xff0c;python 虽然是易用而强大的编程语言&#xff0c;但是 python 解释器却有多个版本&#…...

快速实现AI搜索!Fivetran 支持 Milvus 作为数据迁移目标

Fivetran 现已支持 Milvus 向量数据库作为数据迁移的目标&#xff0c;能够有效简化 RAG 应用和 AI 搜索中数据源接入的流程。 数据是 AI 应用的支柱&#xff0c;无缝连接数据是充分释放数据潜力的关键。非结构化数据对于企业搜索和检索增强生成&#xff08;RAG&#xff09;聊天…...

css的页面布局属性

CSS Flexbox&#xff08;Flexible Box Layout&#xff09;是一种用于页面布局的CSS3规范&#xff0c;它提供了一种更加高效的方式来布置、对齐和分配容器内元素的空间&#xff0c;即使它们的大小是未知或者动态变化的。Flexbox很容易处理一维布局&#xff0c;即在一个方向上&am…...

RTE 大会报名丨AI 时代新基建:云边端架构和 AI Infra ,RTE2024 技术专场第二弹!

所有 AI Infra 都在探寻规格和性能的最佳平衡&#xff0c;如何构建高可用的云边端协同架构&#xff1f; 语音 AI 实现 human-like 的最后一步是什么&#xff1f; AI 视频的爆炸增长&#xff0c;给新一代编解码技术提出了什么新挑战&#xff1f; 当大模型进化到实时多模态&am…...

【React】入门Day01 —— 从基础概念到实战应用

目录 一、React 概述 二、开发环境创建 三、JSX 基础 四、React 的事件绑定 五、React 组件基础使用 六、组件状态管理 - useState 七、组件的基础样式处理 快速入门 – React 中文文档 一、React 概述 React 是什么 由 Meta 公司开发&#xff0c;是用于构建 Web 和原生…...

<<机器学习实战>>10-11节笔记:生成器与线性回归手动实现

10生成器与python实现 如果是曲线规律的数据集&#xff0c;则需要把模型变复杂。如果是噪音较大&#xff0c;则需要做特征工程。 随机种子的知识点补充&#xff1a; 根据不同库中的随机过程&#xff0c;需要用对应的随机种子&#xff1a; 比如 llist(range(5)) random.shuf…...

链表OJ经典题目及思路总结(一)

目录 前言1.移除元素1.1 链表1.2 数组 2.双指针2.1 找链表的中间结点2.2 找倒数第k个结点 总结 前言 解代码题 先整体&#xff1a;首先数据结构链表的题一定要多画图&#xff0c;捋清问题的解决思路&#xff1b; 后局部&#xff1a;接着考虑每一步具体如何实现&#xff0c;框架…...

初识chatgpt

GPT到底是什么 首先&#xff0c;我们需要了解GPT的全称&#xff1a;Generative Pre-trained Transformer&#xff0c;即三个关键词&#xff1a;生成式 预训练 变换模型。 &#xff08;1&#xff09;什么是生成式&#xff1f; 即能够生成新的文本序列。 &#xff08;2&#…...

【60天备战2024年11月软考高级系统架构设计师——第33天:云计算与大数据架构——大数据处理框架的应用场景】

随着大数据技术的发展&#xff0c;越来越多的企业开始采用大数据处理框架来解决实际问题。理解这些框架的应用场景对于架构师来说至关重要。 大数据处理框架的应用场景 实时数据分析&#xff1a;使用Apache Kafka与Apache Spark结合&#xff0c;可以实现对实时数据流的处理与…...

如何设计具体项目的数据库管理

### 例三&#xff1a;足协的数据库管理算法 #### 角色&#xff1a; - **ESFP学生**&#xff1a;小明 - **ENTP老师**&#xff1a;张老师 #### 主题&#xff1a;足协的数据库管理算法 --- **张老师**&#xff1a;小明&#xff0c;今天我们来讨论一下足协的数据库管理算法。你…...

对于 Vue CLI 项目如何引入Echarts以及动态获取数据

&#x1f680;个人主页&#xff1a;一颗小谷粒 &#x1f680;所属专栏&#xff1a;Web前端开发 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 1、数据画卷—Echarts介绍 1.1 什么是Echarts&#xff1f; 1.2 Echarts官网地址 2、Vue CLI 项目…...

【Linux笔记】在VMware中,为基于NAT模式运行的CentOS虚拟机设置固定的网络IP地址

一、配置VMware虚拟网络 1、打开VMware虚拟网络编辑器&#xff1a; 点击VMware主界面上方的“编辑”菜单&#xff0c;选择“虚拟网络编辑器”。 2、选择NAT模式网络&#xff1a; 在虚拟网络编辑器中&#xff0c;选择VMnet8&#xff08;或其他NAT模式的网络&#xff09;。 取消勾…...

一文上手Kafka【中】

一、发送消息细节 在发送消息的特别注意: 在版本 3.0 中&#xff0c;以前返回 ListenableFuture 的方法已更改为返回 CompletableFuture。为了便于迁移&#xff0c;2.9 版本添加了一个方法 usingCompletableFuture&#xff08;&#xff09;&#xff0c;该方法为 CompletableFu…...

Ubuntu如何如何安装tcpdump

在Ubuntu上安装tcpdump非常简单&#xff0c;可以通过以下步骤完成&#xff1a; 打开终端。 更新包列表&#xff1a; 首先&#xff0c;更新你的包管理器的包列表&#xff1a; sudo apt update 安装tcpdump&#xff1a; 使用以下命令安装tcpdump&#xff1a; sudo apt install …...

3-3 AUTOSAR RTE 对SR Port的作用

返回总目录->返回总目录<- 一、前言 RTE作为SWC和BSW之间的通信机构,支持Sender-Receiver方式实现ECU内及ECU间的通信。 对于Sender-Receiver Port支持三种模式: 显式访问:若运行实体采用显示模式的S/R通信方式,数据读写是即时的;隐式访问:当多个运行实体需要读取…...

hive/impala/mysql几种数据库的sql常用写法和函数说明

做大数据开发的时候&#xff0c;会在几种库中来回跳&#xff0c;同一个需求&#xff0c;不同库函数和写法会有出入&#xff0c;在此做汇总沉淀。 1. hive 1. 日期差 DATEDIFF(CURRENT_DATE(),wdjv.creation_date) < 30 30天内的数据 2.impala 3. spark 4. mysql 1.时间差…...

论文阅读:LM-Cocktail: Resilient Tuning of Language Models via Model Merging

论文链接 代码链接 Abstract 预训练的语言模型不断进行微调,以更好地支持下游应用。然而,此操作可能会导致目标领域之外的通用任务的性能显著下降。为了克服这个问题,我们提出了LM Cocktail,它使微调后的模型在总体上保持弹性。我们的方法以模型合并(Model Merging)的形…...

8640 希尔(shell)排序

### 思路 希尔排序是一种基于插入排序的排序算法&#xff0c;通过将待排序数组分割成多个子序列分别进行插入排序来提高效率。初始增量d为n/2&#xff0c;之后每次减半&#xff0c;直到d为1。 ### 伪代码 1. 读取输入的待排序关键字个数n。 2. 读取n个待排序关键字并存储在数组…...

Linux 安装redis主从模式+哨兵模式3台节点

下载 https://download.redis.io/releases/ 解压 tar -zxvf redis-7.2.4.tar.gz -C /opt chmod 777 -R /opt/redis-7.2.4/安装 # 编译 make # 安装&#xff0c; 一定是大写PREFIX make PREFIX/opt/redis-7.2.4/redis/ install配置为系统服务 cd /etc/systemd/system/主服务…...

[BCSP-X2024.小高3] 学习计划

题目描述 暑假共有 n 天&#xff0c;第 i 天的精力指数为 a[i]&#xff0c;你想要利用假期依次&#xff08;按 1,2,...,m 顺序&#xff09;复习 m 门功课&#xff0c;第 i 门功课的重要程度为 b[i]&#xff0c;且每门的复习时段必须连 续&#xff0c;并且不能有某天不干事。 …...

Android Debug Bridge(ADB)完全指南

文章目录 前言一、什么是ADB&#xff1f;二、ADB的工作原理ADB由三个部分组成&#xff1a; 三、如何安装ADBWindows系统&#xff1a;macOS和Linux系统&#xff1a; 四、ADB常用指令大全设备相关操作1. 查看连接的设备&#xff1a;2. 重启设备&#xff1a;3. 进入Bootloader模式…...

再次重逢,愿遍地繁花

再次重逢&#xff0c;愿遍地繁花 我并不是一个对最终幻想7很热衷的粉丝&#xff0c;也并没有像那些评论区的大佬&#xff0c;能够轻易地说出整部世界的全貌。说到底&#xff0c;我只是一个看完了《最终幻想7&#xff1a;重制版》和《最终幻想7&#xff1a;重生》的爱好者罢了。…...

数据结构和算法基础(一)

文章目录 链表反转链表合并删除链表倒数第 n 个结点找链表的中间结点链表中环的检测排序算法递归 趁空闲时间刷一遍极客时间上王争的《数据结构与算法之美》课程&#xff0c;个人觉得写的很好&#xff0c;每章节由浅入深且从基础到引入设计类问题&#xff0c;如果写过很多代码想…...

【超长好文】网络安全从业者面试指南

文章为笔者偶然看到的github项目《网络安全面试指南》&#xff0c;作者FeeiCN&#xff0c;读完内容深感作者的用心&#xff0c;尽管一些观点因为时间原因与当下行情存在差异&#xff0c;但仍旧值得大家参考&#xff0c;希望能给大家在这行业寒冬带来一些启发&#xff0c;愿正在…...

基于大数据的高校新生数据可视化分析系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

【cache】浅析四种常用的缓存淘汰算法 FIFO/LRU/LFU/W-TinyLFU

本文浅析淘汰策略与工作中结合使用、选取&#xff0c;并非针对算法本身如何实现的 文章目录 FIFOLFULRUW-TinyLFU实践与优化监控与调整 FIFO first input first output &#xff0c; 先进先出&#xff0c;即最早存入的元素最先取出&#xff0c; 典型数据结构代表&#xff1a;…...

STM32的DMA技术介绍

DMA&#xff08;Direct Memory Access&#xff0c;直接内存访问&#xff09; 是一种允许外设直接与系统内存进行数据传输&#xff0c;而无需经过CPU的技术。在STM32微控制器中&#xff0c;DMA技术极大地提高了数据传输效率&#xff0c;降低了CPU的负担&#xff0c;从而提升系统…...

C++11 多线程编程-小白零基础到手撕线程池

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 来源于b站视频 C11 多线程编程-小白零基础到手撕线程池 学习来源&#xff1a;https://www.bilibili.com/video/BV1d841117SH/?p2&spm_id_f…...

智源研究院与百度达成战略合作 共建AI产研协同生态

2024年9月24日&#xff0c;北京智源人工智能研究院&#xff08;简称“智源研究院”&#xff09;与北京百度网讯科技有限公司&#xff08;简称“百度”&#xff09;正式签署战略合作协议&#xff0c;双方将充分发挥互补优势&#xff0c;在大模型等领域展开深度合作&#xff0c;共…...

Flask-SQLAlchemy:在Flask应用中优雅地操作数据库

在Python的Web开发领域&#xff0c;Flask是一个备受欢迎的轻量级Web框架&#xff0c;它以简洁、灵活而著称。而当我们需要在Flask应用中与数据库进行交互时&#xff0c;Flask-SQLAlchemy就成为了一个强大而便捷的工具。它将Flask的简洁性与SQLAlchemy的强大数据库抽象能力完美结…...

阿里云域名出售/西昌seo快速排名

fork&#xff08;&#xff09;与vfock&#xff08;&#xff09;都是创建一个进程&#xff0c;那他们有什么区别呢&#xff1f;总结有以下三点区别&#xff1a; 1. fork &#xff08;&#xff09;&#xff1a;子进程拷贝父进程的数据段&#xff0c;代码段 vfork &#xf…...

郑州网站制作多少钱/网络推销

先放两篇整理内置对象较全的博客&#xff1a; https://segmentfault.com/a/1190000011467723 https://www.cnblogs.com/liuluteresa/p/6413988.html 再来一篇面试题 https://blog.csdn.net/mino_miao/article/details/81167867 对下述定时器面试题中同步异步问题的详解&#xf…...

微信公众号网站导航怎么做/天津网站排名提升多少钱

我们团队开发了一些小巧有用的工具来满足客户的某些特殊需求。现在我们把这些工具广而告之&#xff0c;希望对大家能有用。说明一下&#xff0c;这些工具不是产品的功能&#xff0c;风险自担。基于Horizon虚拟桌面的盲水印更改全屏虚拟桌面的分辨率清除空闲的horizon桌面会话Wr…...

广州达美网站建设公司/百度站长收录提交入口

常用组件axios(http请求模块&#xff0c;可用于前端任何场景&#xff0c;很强大)echarts-for-react(可视化图表&#xff0c;别人基于react对echarts的封装&#xff0c;足够用了)recharts(另一个基于react封装的图表&#xff0c;个人觉得是没有echarts好用)nprogress(顶部加载条…...

内蒙古建设工程交易中心网站/手机百度浏览器

TimeLimitingCollector 包装其他的收集器&#xff0c;当查询超过指定时间时通过抛出TimeExceededException异常来中止搜索。通过一个被包装的收集器&#xff0c;一个时钟定时器和超时时间来构造TimeLimitingCollector对象。setBaseline(long clockTime)&#xff1a;在包…...

网站备案繁琐工作/搜索引擎网页

MySQL Cluster 是一种技术&#xff0c;该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构&#xff0c;系统能够使用廉价的硬件&#xff0c;而且对软硬件无特殊要求。此外&#xff0c;由于每个组件有自己的内存和磁盘&#xff0c;不存在单点故障。…...