语言基础篇3——学习第一步,Python环境搭建

news2024/11/20 7:45:37

环境搭建

基础环境搭建

https://www.python.org/downloads/,以Python3.11.5为例:
在这里插入图片描述

Install for Windows

提供安装程序或者压缩包,安装程序点击下一步即可,压缩包解压即可,注意配置根目录到系统环境变量PATH。

Install for Linux

需要从源码编译,以CentOS7为例:

# 安装编译器以及依赖
yum install -y gcc gcc-c++ compat-gcc-34 compat-gcc-34-c++
yum install -y zlib zlib-devel bzip2-devel zlib1g-dev libffi-devel xz-devel
yum install -y openssl-devel libpcap-devel
yum install -y ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel 
# 安装高版本openssl
...
# 编译CPython
# 移动到/usr/local/src/目录
cd /usr/local/src/
# 下载源码
wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
# 解压
tar zxf Python-3.11.5.tgz
cd Python-3.11.5
# configure
./configure  --prefix=/usr/local/python --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
echo $?

--enable-optimizations 
	# 优化编译
--prefix=/usr/local/python-3.11.5
	# 指定目录
        二进制文件在 /usr/local/python-3.11.5/bin;
        头文件在 /usr/local/python-3.11.5/include;
        库文件在 /usr/local/python-3.11.5/lib;
        其它的资源文件如帮助文档在 /usr/local/python-3.10.0/share
    # 不配置--prefix
        二进制文件默认在 /usr/local/bin
        头文件在 /usr/local/include
        库文件默认在 /usr/local/lib
        其它的文件在 /usr/local/share
--with-openssl=/root/openssl-1.1.0l
	/root/openssl-1.1.0l路径为openssl官网下载的源码包解压后的文件夹路径
	python pip联网下载模块依赖openssl


# 编译并安装
make && make install
# 注:编译时可能会出现很多警告,例如,CentOS最小化安装时没有安装图形化界面,因此编译Python中的tkinter模块时可能会出现警告。若编译失败,可以尝试重新编译,很多时候再编译一次就能成功。可以执行make clean,清除之前的编译文件后再次make, 也可以全部删除,然后从头再解压、configure、make一次。
# 配置环境变量
export PATH=/usr/local/python/bin:$PATH

# 注:CentOS7中yum依赖于Python2,安装的Python3不要与Python2.7.5冲突,一般执行python命令会进入Python2解释器,习惯上将Python3的命令重命名为python3

# 查看Python版本
python3.11 -V

Install for MacOS

提供安装程序,直接安装即可,注意配置环境变量。

虚拟环境搭建

在一些场景下,需要在同一台机器安装多套彼此隔离的Python环境,例如两个项目使用不同Python版本或者两个项目使用Python版本相同但依赖包版本不一,可以使用virtualenv或者Anaconda工具。

virtualenv

Python虚拟环境配置工具。

https://docs.python.org/zh-cn/3/library/venv.html

# 安装
pip install virtualenv
# 在当前目录创建虚拟环境new-venv
virtualenv -p /usr/local/python3 normal_env
# 注:virtualenv需要指定已经存在的解释器,不存在需要手动安装,不指定解释器则使用默认解释器

# 激活虚拟环境
source /normal_env/bin/activate

# 退出虚拟环境
deactivate

Anaconda

Anaconda主要用于管理Python虚拟环境和三方依赖。

Install for Windows

提供安装程序,直接下一步安装即可,Anaconda默认自带一个Python解释器,无需执行上述基础环境搭建步骤。

# 查看版本
conda --version 或 conda -V

# 列出虚拟环境
conda env list

# 创建和移除虚拟环境
conda create -n your_env_name python=x.x
conda create --name new_env_name --clone old_env_name
conda remove -n your_env_name --all
conda remove --name your_env_name --all

# 环境
conda activate env_name
conda deactivate env_name

# 包安装与卸载
conda install --name myenv package_name 
conda remove --name myenv package_name

包管理工具

setup.py

手动下载依赖并执行python setup.py buildpython setup.py install

pip

Python环境安装完后自带pip。

# 查看把版本
pip -V

# 安装包
pip install virtualenv
# pip版本降级
python -m pip install pip==9.0.3
# 通过requirements.txt文件安装包
pip install -r requirements.txt

Anaconda

# 包安装与卸载
conda install --name myenv package_name 
conda remove --name myenv package_name

IDE

Python主流IDE如下:

  • PyCharm,JetBrains出品
  • Visual Studio Code,微软出品

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/955335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp项目实战系列(3):底部导航栏与头部导航栏的配置

目录 系列往期文章(点击跳转)uniapp项目实战系列(1):导入数据库,启动后端服务,开启代码托管(点击跳转)uniapp项目实战系列(2):新建项目,项目搭建,微信开发工具…

MySQL— 基础语法大全及操作演示!!!(事务)

MySQL—— 基础语法大全及操作演示(事务) 六、事务6.1 事务简介6.2 事务操作6.2.1 未控制事务6.2.2 控制事务一6.2.3 控制事务二 6.3 事务四大特性6.4 并发事务问题6.5 事务隔离级别 MySQL— 基础语法大全及操作演示!!&#xff01…

docker 部署springboot(成功、截图)

1.新建sringboot工程并打包 2.编写Dockerfile文件 # 基础镜像使用java FROM openjdk:8 # 作者 MAINTAINER feng # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp VOLUME /tmp # 将jar包添加…

什么是数据丢失防护(DLP)

数据丢失防护 (DLP) 是一种安全策略,旨在保护企业的关键数据免遭未经授权的用户盗窃、丢失或访问。一个好的 DLP 系统是用于数据发现和分类、数据传输和访问控制、策略和事件管理以及细致的审核和警报的工具的组合。 数据丢失的原因是什么 …

Databricks 入门之sql(二)常用函数

1.类型转换函数 使用CAST函数转换数据类型(可以起别名) SELECTrating,CAST(timeRecorded as timestamp) FROMmovieRatings; 支持的数据类型有: BIGINT、BINARY、BOOLEAN、DATE 、DECIMAL(p,s)、 DOUBLE、 FLOAT、 INT、 INTERVAL interva…

嵌入式学习之popen函数

相比于system输出的好处,popen可以直接输出运行结果 14.进程总结 需要重点掌握进程配合相关概念,创建进程函数fork的使用,理解进程创建发生了什么事,exec族函数,exec族函数配合fork使用。

2009-2022年商业银行资产利息相关数据

2009-2022年商业银行资产利息相关数据 1、时间:2009-2022年 2、来源:整理自wind 3、指标:利息支出、资产总计、员工总数、固定资产、存款总额、应付职工薪酬、营业支出、营业收入、扣除人员开支后的营业支出 银行:平安银行兰州…

富而喜悦九仔短短10秒的拥抱让百万网友直呼“太可爱!”

现如今网络发展速度非常快,各种各样的走红层出不穷,甚至有很多人都是一夜之间爆红的,出名的速度非常快。近期,在新浪微博的热榜中,有一个富而喜悦九仔的话题横空出世,微博博主富而喜悦外事部小九&#xff0…

取暖器UL1278测试项目及注意事项!!!

UL1278是可移动的挂墙式或吊顶式室内电暖器的标准,适用于额定电压不超过600V的可移动的且挂墙式或吊顶式的电暖器。不适用于固定式电暖器, 管道式电暖器,中心加热的炉。 取暖器UL认证UL1278标准测试项目: 泄露电流试验&#xff…

8月编程排行榜榜首还是它?敬了不起的Python

近日 TIOBE 公布了2023年8月的编程指数信息,跟着战战一起看看排行详情吧~ 全球知名编程社区TIOBE,每月都会公布编程语言的最新变化,8月编程语言排行榜已出!话不多说,一起来看看吧! TIOBE 8 月 TOP 15 编程…

Plasticine: 面向并行模式的可重配架构

本文基于对并行模式的分层架构、数据局部性和控制流的抽象,提出了Plasticine架构,从而为并行模式计算提供更好的灵活性和更低的能耗支持。原文: Plasticine: A Reconfigurable Architecture For Parallel Patterns 摘要 近年来,由于可重配架构…

深度解读智能媒体服务的重组和进化

统一“顶设”的智能媒体服务。 邹娟|演讲者 大家好,首先欢迎各位来到LVS的阿里云专场,我是来自阿里云视频云的邹娟。我本次分享的主题为《从规模化到全智能:智能媒体服务的重组与进化》。 本次分享分为以上四部分,一是…

可输入的下拉框

项目场景: 问题描述 可以输入的下拉框,在element-ui中 可以找到的是 input 组件 中-带输入建议 的可以达到效果 当是下拉框时,匹配输入的值与下拉框的数据,如果可以匹配,那么就选择那条,如果不能匹配那么&…

Springboot 接口方式硬通知实现 动态刷新配置值,@ConfigurationProperties 、@Value 都可以

前言 看到这个文章标题,也许有的看官就觉得很多余, 因为Nacos 可以设置 NacosValue(value "${XXX}",autoRefreshed true) 实现动态刷新; 又因为cloud config的RefreshScope 实现动态刷新; 还有阿波罗...等 这…

SurfaceFlinger中Binder案例

SurfaceFlinger中Binder案例 1、SurfaceFlinger服务init启动2、SurfaceFlinger服务继承BnSurfaceComposer端2.1 Code标签扩展2.2 Code标签扩展对应调用 3、SurfaceFlinger服务的BpSurfaceComposer端3.1 FWK使用案例3.2 Native使用案例 android12-release 1、SurfaceFlinger服务…

PieChart示例

PieChart是JavaFX中的饼图,示例如下: PieChartUtil.java文件,饼图数据设置。 package javafx8.ch29;import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.chart.PieChart;/*** copyr…

油画|《凤尾山中》听竹涛,阅山水

《凤尾山中》 陈可之2021年绘 油画《凤尾山中》以竹下仰望山林的视角,描绘出桂林山水在自然光影中的秀美姿态,迤逦风光似乎让心灵都得到自然的洗礼。 画中没有构建明显的前景边框,但上半部分垂下的翠竹枝叶、下部分的江水,以及画…

使用C++操作Redis客户端

"Who can say where the path will go?" 前面我们花了很大的篇幅,讲解了redis中常见常使用的五种数据结构,以及五种数据结构的操作和redis命令。不过在日常开发中,我们的这些操作都是在redis为我们提供的客户端中的,就…

MySQL连接查询和存储过程

目录 一、连接查询 1、内连接 2、左连接 3、右连接 二、存储过程 1、存储过程简介 2、存储过程的优点 3、语法 4、不带参数的存储过程创建 5、带参数的存储过程创建 6、删除存储过程 三、总结 1、连接查询 2、存储过程 一、连接查询 mysql的连接查询,通…

【C语言奥义】char和char数组和char*总是搞混

这边我直接展示个图大家看下: 然后我们看下运行的结果: 为啥第一行的结尾会有个a呢? 因为char数组市存储单个字符的,没有结束符,我们的字符串都应该有结束符,来告诉编译器结束位置,所以需要给char数组后面加一个’\0’元素: 这样就没有问题了…