记一次:Python的学习笔记一

前言:之前学习的Python笔记,已经过去很多年了,不久前重新翻了出来练习练习。不完善的地方在缝缝补补

一、环境搭建

1.1、Pythonwin环境安装

0、python-3.12.0软件安装:Win11环境搭建python-3.12.0-amd64

这里小小注意一下,当前我下载的最新的,但后面很多插件都没有最新的,后面的使用过程中我就又降低版本到3.11了。如果当前的插件已经完善了,那么可以放心大胆的继续看了 

1)Python下载

Python官网:Welcome to Python.org

2)安装向导安装

下载后,在Windows 10/11的Downloads(下载)文件夹里,找到该安装程序:python-3.12.0-amd64.exe文件,双击启动安装向导。

为了防止C:盘文件因系统故障或者无意丢失,选择点击Customize installation(定制安装),以便接下来选硬盘其它分区来安装Python。保留默认勾选项“Use admin privileges when installing py.exe”(安装py.exe时使用管理员权限运行)。

在Optional Features(可选特征)对话框,保留默认勾选的四个选项,点击Next进入下一步。

在Advanced Options(高级选项)对话框中,增加选项Add Python to environment variables,即添加Python安装路径到环境变量;同时,为了使用便利,增加选项“Install Python 3.12 for all users”(为所有用户安装Python 3.12);然后,选择”Customize Install Location”(定制安装路径),修改默认路径到指定的文件夹。

接下来,点击Install开始安装。

安装过程会拷贝必要的文件,以及预编译Python标准库等;安装完毕后,出现Setup was Successful(安装成功)对话框,点击Close关闭安装向导。

此刻,已经完成了Python 3.12 for Windows的安装过程。

3)验证python安装是否成功

4)配置pip环境变量

先配置一个环境变量,PIP的环境变量,不然pip命令使用不了

Pip命令在python安装路径下scripts下。

验证pip命令

注意:用pip install命令安装项目的时候,安装到哪个文件夹去了?

当使用pip install命令安装项目时,默认情况下,安装文件会被下载到Python安装目录下的Lib\site-packages文件夹中。在这个文件夹中,每个安装的包都会被放置在一个单独的文件夹中,该文件夹的名称与包的名称相同。

1.2、Python的Linux环境搭建--略

2. 建立虚拟环境虚拟环境virtualenv安装

1. 安装virtualenv

将Python的目录添加到系统环境变量后,在命令行输入: pip install virtualenv

安装:virtualenv:

pip install virtualenv

2.在指定一个目录创建python项目的虚拟环境

D:\java\pythonwork\EnvTem\env 一个虚拟环境myenv,输入:virtualenv myenv

执行成功后在指定目录出现一个文件夹

3. 激活虚拟环境

进入到myenv目录下的Scripts文件夹,输入activate即可:

命令行以(myenv)开始,这就代表现在已处在Python虚拟环境中。

4. 退出虚拟环境

进入myenv目录下的Scripts文件夹,输入deactivate即可退出虚拟环境

二、虚拟环境介绍

虚拟环境部分借鉴了一些网络上的,知乎上的一些总结,这里介绍了4中创建虚拟环境 ,如果不了解使用上面的2.1章节完全够用,实在不懂那就用全局环境也可以。看各位看官的心情吧~

1.什么是虚拟环境?

虚拟环境是一个隔离的Python环境,允许用户安装和管理不同的依赖关系。它将一个项目的依赖性与另一个项目分开,这里的依赖性是指任何模块、库或包。每个项目都有一个特定版本的依赖关系。

2.为什么需要虚拟环境?

虚拟环境以一种良好的方式规范了Python项目,通过以下例子来了解一下情况。举个例子,小明是一个初学者,他开始使用Python做项目。他做了一个名为“A”的项目,使用两个Python库来开发这个项目。第一个库是pandas 1.2版,第二个库是Flask 2.1版。一段时间后,他开始创建另一个名为“B”的项目。他需要与项目A中使用的相同的库。

他更新了库的版本,以便在项目“B”中使用这些库,现在pandas 1.2版和Flask 2.1版被更新为pandas 1.3版和Flask 2.6版。有一天,他决定向他的朋友展示他很酷的项目,当时项目“B”运行得很顺利,但项目“A”却出现了错误,原因是小明在项目“A”中使用的库的版本发生了变化,因为他在开发项目“B”时更新了库。

小明在开发项目“B”时犯了一个错误,即没有使用虚拟环境。这可能发生在任何像小明一样的初学者身上。一个库的版本在一定时间后更新。开发人员不断改变库的代码,并试图使它们没有错误和功能完善。所以这就是应该在项目中使用虚拟环境的原因。下面是一些其他的原因,使虚拟环境成为必要的工具。

依赖性管理:它有助于使不同的Python项目的依赖性分离和组织。

版本冲突:它也有助于避免版本冲突。不同的项目可能需要同一个包的不同版本,通过使用虚拟环境可以轻松地处理这些情况。

易于处理库:由于虚拟环境与全局的Python环境隔离。虚拟环境使得删除或创建库很容易,而不影响其他库。

3.在Python中创建虚拟环境的4种方法

在这里将学习如何创建虚拟环境并在项目中使用它。

1.Pipenv

2.Venv

3.Virtualenv

4.Conda

⚡Pipenv⚡

Pipenv是一个用于为项目创建一个虚拟环境的工具,它默认会创建pip文件。它使用一个特殊的功能,我们称之为锁功能。它创建了一个叫做Pipfile-lock的文件。它列出了项目运行所需的所有软件包和它们的依赖性。这个文件作为环境的快照。

使用pipenv建立一个虚拟环境。

要使用pipenv并为项目创建虚拟环境,首先,创建一个存储项目的文件夹,然后开始安装库。例子是在demo文件夹中,所以将在同一位置安装库。

要使用pipenv,首先必须在系统中安装pipenv,所以Linux和Windows用户都使用以下步骤来安装它。

1.Linux用户可以使用终端。

2.Windows用户可以使用PowerShell。要运行PowerShell,请进入“开始”菜单并输入PowerShell,需要使用pip来安装Python中的包,所以要确保安装了pip。可以通过在PowerShell中运行“pip - version”来检查。如果已经在系统中安装了pip,则使用下面的命令来安装pipenv。

pip install pipenv

要检查pipenv是否正确安装,请使用以下命令。如果你得到这样的输出,说明pipenv已经安装在你的系统中。

# 用命令检查pip版本。

pipenv --version

pipenv - version代码的输出:

使用pipenv安装库。

下面以在虚拟环境中安装一个请求库为例,所以下面写的命令将在虚拟环境中安装请求库。可以使用项目需要的任何软件包。

# 使用命令`pipenv`而不是`pip`

pipenv install requests

执行上述命令后,可以看到下面的快照中的输出。

要检查哪些库存在于虚拟环境中,可以使用以下命令。

# 适用于wnidows用户
pip freeze 
# 或
python -m pip freeze

要使用pipenv从虚拟环境中卸载库,可以在终端或PowerShell中输入以下命令。

pipenv uninstall <any package name>

要卸载特定的软件包,用想从虚拟环境中卸载的软件包的名称替换“<any package name>”。

有一个功能可以帮助生成一个文本文件,该文本文件将包含所有安装在虚拟环境中的库,该文本文件包含所有存在于虚拟环境中的库的名称和版本。

命令生成包含虚拟环境中所有库的列表的文本文件。

# 创建 requirment.txt

pipenv lock --requirements > requirements.txt

上面的命令将生成一个文本requirements.txt。运行该命令后,可以在虚拟环境所在的文件夹中找到它。

也可以在这个文本文件的帮助下安装库。这些是通过刚才讨论的过程产生的文件。这些文本文件包含库的名称和它们的版本。只需将此文件保存在项目文件夹所在的确切位置即可。

命令安装使用文本文件的库。

在下面的例子中,文本文件的名称是“requirements.txt”。

pipenv install --requirements requirements.txt

requirements.txt的例子如下图所示。

⚡venv⚡

venv支持创建轻量级的虚拟环境。虚拟环境是在现有的Python安装基础上创建的。正如我们之前通过使用pip和终端Power Shell来安装虚拟环境。这个方法对Linux和Windows用户都一样。

第一步是选择创建虚拟环境的文件夹,并打开该文件夹,可以用以下命令完成。

# 创建一个目录

mkdir <name_of_your_directory>

用项目名称或任何想要的名称替换name_of _your_directory。

从一个目录转移到另一个目录。

# “cd”,即改变目录。

cd <name of your directory>

使用venv创建虚拟环境。

python -m venv my_first_env

注意:如果得到一个错误,用“python3”替换“python”,这里的3是指python版本。将“my_first_env”替换为想给虚拟环境起的名字。

一旦创建了虚拟环境,必须激活它。

适用于Linux用户:

激活虚拟环境。

#适用于Linux用户

source <my_first_env>/bin/activate

将<my_first_env>替换为虚拟环境的名称。

激活虚拟环境后,可以使用以下命令检查它是否正在运行,命令可能因操作系统不同而不同。

用于检查Linux中的虚拟环境的命令。

echo $VIRTUAL_ENV

一旦确认虚拟环境正在运行,就可以用pip安装软件包,例如pip install <your_package_name>。

命令安装虚拟环境中的软件包。

# 安装pandas软件包

pip install pandas

# 也可以指定版本。

pip install pandas=1.2

命令检查列表中哪些软件包已经安装在虚拟环境中。

# 它将输出所有的软件包名称

pip list

# 它将输出一个特定的软件包,如果在虚拟环境中存在。

pip show <package_name>

适用于Windows用户:

PowerShell激活虚拟环境的命令。

# 适用于windows用户

<my_first_env>\Scripts\activate

输入以下命令来检查虚拟环境是否正在运行。

# 检查虚拟环境是否正在运行。

$env:VIRTUAL_ENV

命令在虚拟环境中安装软件包的powerhell。

#安装pandas软件包

pip install pandas

#也可以指定版本。

pip install pandas=1.2

适用于Windows和Linux用户:

使用以下命令检查哪些库存在于虚拟环境中。

# 适用于Linux和Windows用户。

pip list

# 适用于Linux和Windows用户。

pip show <package_name>

一旦完成了虚拟环境的工作,可以使用以下命令停用现有的虚拟环境。

deactivate

像pipenv一样,venv也可以创建文本文件并使用现有的文件在虚拟环境中安装软件包。

用命令生成文本文件。文件名是requirements.txt。

# 创建requirment.txt

pip freeze > requirements.txt

命令在环境中使用文本文件(在例子中是requirements.txt)来安装库。

pip install -r requirment.txt

以上已经完成了使用venv创建虚拟环境的所有基本命令。

⚡Virtualenv⚡

Virtualenv也用于创建一个虚拟环境,它是venv模块下的标准库的一个子集,要使用它需要较高版本的python 3.3或以上。它创建的环境有安装目录,不与其他虚拟环境共享库。Linux和windows的命令如下。

适用于Linux用户:

通过运行命令安装virtualenv:

pip install virtualenv

导航到想创建虚拟环境的目录。

使用virtualenv创建一个虚拟环境,使用以下命令:

virtualenv <env_name>

用虚拟环境名称替换<env_name>。

激活虚拟环境:

# 用虚拟环境名称替换`<env_name>`

source <env_name>/bin/activate

要检查虚拟环境是否在运行,请使用以下命令:

source activate

停用虚拟环境:

deactivate

适用于Windows用户:

通过运行命令安装virtualenv:

pip install virtualenv

导航到想创建虚拟环境的目录。

使用virtualenv创建一个虚拟环境,使用以下命令:

virtualenv <env_name>

用虚拟环境名称替换<env_name>。

激活虚拟环境:

# 用虚拟环境名称替换`<env_name>`

<env_name>\Scripts\activate.bat

检查虚拟环境是否正在运行,使用以下命令:

activate

停用虚拟环境:

deactivate

如果虚拟环境已经被激活,将会在括号里看到它的名字。请看下面的例子。

(venv) C:users/username/<project_name>

前面2.1章节就是用的这个

⚡Conda⚡

Conda是一个开源的软件包和环境管理系统,它主要用于数据科学和科学计算。它可以有效地为每个项目创建一个隔离的环境,避免冲突。它同时支持Python和非python的软件包。该命令在Linux和windows下都是一样的,有些可能有所不同。

下面将解释使用conda的命令。

1)要创建一个具有全局版本的虚拟环境。

2)使用特定的Python版本创建一个虚拟环境。下面给出了两者的命令。

--create uing python global version that is currently installed in your system.

conda create --name <env_name>

--create using specific version of python

conda create --name <env_name> python=3.2

这里的"<env_name>"是指虚拟环境的名称。

使用conda命令激活虚拟环境。

#activate virtual environment using conda.

conda activate <env_name>

这里的<env_name>是指虚拟环境的名称。

在虚拟环境中使用conda安装软件包。

conda install package_name

将“package_name”替换为项目所需的软件包名称。

使用conda从虚拟环境中卸载软件包。

conda uninstall package_name

将package_name替换为软件包名称,请看上面代码块中的一个例子以获得更好的理解。

检查虚拟环境中安装了哪些python包:

conda list

上面写的命令将显示所有安装在环境中的软件包以及它们的版本。

查看在特定环境中安装的软件包,请使用以下命令:

conda list --name env_name

用虚拟环境名称替换env_name。

用命令在conda中生成packages.txt文件,packages.txt与requirement.txt类似:

conda list --export > packages.txt

下面的命令将有助于安装packages.txt文件中定义的库。

conda install --file packages.txt

结语

以上是本文介绍的4种可以用于为项目创建虚拟环境的方法。可以根据具体情况使用任何一种方法来创建虚拟环境。

 下一篇我们记一次Python项目的Django小练习吧

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NoSql非关系型数据库

前言&#xff1a;Nosql not only sql&#xff0c;意即“不仅仅是sql”&#xff0c;泛指非关系型数据库。这些类型的数据存储不需要固定的模式&#xff08;当然也有固定的模式&#xff09;&#xff0c;无需多余的操作就可以横向扩展。NoSql数据库中的数据是使用聚合模型来进行处…

基于Java SSM框架实现实现四六级英语报名系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现四六级英语报名系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个高校四六级报名管理系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作…

U-boot(七):U-boot移植

本文主要探讨基于210官方U-boot源码移植。 移植基础 tar -jxvf android_uboot_smdkv210.tar.bz2cd u-boot-samsung-devrm -rf onenand_ipl onenand_bl1 lib_avr32 lib_blackfin lib_i386 lib_m68k lib_mips lib_microblaze lib_nios lib_nios2 lib_ppc lib_sh lib_sparccd bo…

pycharm怎么同时打开2个项目?

pycharm怎么同时打开2个项目&#xff1f;当使用vue等前端的时候&#xff0c;后台也需要同时用pycharm打开操作&#xff0c;怎么用pycharm同时打开前后端呢&#xff1f; 当我们第一次用pycharm的时候&#xff0c;新建一个项目&#xff0c;习惯选择此窗口&#xff0c;而且勾选不再…

【Linux】OpenSSH 命令注入漏洞(CVE-2020-15778)(iptables屏蔽22端口方式)

背景 漏洞名称&#xff1a;OpenSSH 命令注入漏洞(CVE-2020-15778) 详细描述&#xff1a;OpenSSH&#xff08;OpenBSD Secure Shell&#xff09;是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现&#xff0c;支持对所有的传输进行加密&#…

基于Java SSM框架实现高校二手交易平台系统项目【项目源码+论文说明】

基于java的SSM框架实现高校二手交易平台系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个高校二手交易平台&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将…

在氮化镓和AlGaN上的湿式数字蚀刻

引言 由于其独特的材料特性&#xff0c;III族氮化物半导体广泛应用于电力、高频电子和固态照明等领域。加热的四甲基氢氧化铵(TMAH)和KOH3处理的取向相关蚀刻已经被用于去除III族氮化物材料中干法蚀刻引起的损伤&#xff0c;并缩小垂直结构。 不幸的是&#xff0c;由于化学蚀…

【Node.js】笔记整理 3 -npm

写在最前&#xff1a;跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识&#xff0c;需要格外注重实战和官方技术文档&#xff0c;文档建议作为手册使用 系列文章 【Node.js】笔记整理 1 - 基础知识【Node.js】笔记整理 2 - 常用模块【Node.js】笔记整理 3 - n…

Linux常用命令——badblocks命令

在线Linux命令查询工具 badblocks 查找磁盘中损坏的区块 补充说明 badblock命令用于查找磁盘中损坏的区块。 硬盘是一个损耗设备&#xff0c;当使用一段时间后可能会出现坏道等物理故障。电脑硬盘出现坏道后&#xff0c;如果不及时更换或进行技术处理&#xff0c;坏道就会越…

山人求道篇:一、交易系统与现代战争

声明&#xff1a; 本人不进行任何投资建议&#xff0c;也不出售任何包括策略、算法的程序代码。 仅作为个人的2023年开发心路总结&#xff0c;有任何异议可以在评论区留言&#xff0c;可以讨论&#xff0c;如果你杠&#xff0c;那就是你对。 这世上有很多条路&#xff0c;每个…

零基础自学编程,中文编程工具下载,中文编程工具构件之弹出菜单构件简介

一、前言&#xff1a; 零基础自学编程&#xff0c;中文编程工具下载&#xff0c;中文编程工具构件之弹出菜单构件简介 编程系统化教程链接 https://jywxz.blog.csdn.net/article/details/134073098?spm1001.2014.3001.5502 给大家分享一款中文编程工具&#xff0c;零基础…

VSCode编译多个文件

打开tasks.json文件&#xff0c;找到"$ {file}“这一行。然后在其后面添加你想要编译的文件即可。 比如我这里是想要编译当前文件夹下的所有.cpp文件&#xff0c;那么我就直接把”$ {file}"给注释掉了&#xff0c;然后再使用通配符来代表所有.cpp文件。 最后解释以下…

Git——使用Git进行程序开发

主要介绍个人开发提交记录的主要流程&#xff0c;包括以下内容&#xff1a; 索引- 提交的暂存区。查看工作的状态和内部变更。如何读取用于描述变更的已扩展统一diff格式。支持查询和交互的提交&#xff0c;修改提交。创建、显示和选择&#xff08;切换&#xff09;分支。切换…

ruoyi-vue 整合EMQX接收MQTT协议数据

EMQX安装完成后&#xff0c;需要搭建客户端进行接收数据进一步对数据处理&#xff0c;下面介绍基于若依分离版开源框架来整合EMQX方法。 1.application.yml 添加代码 mqtt:hostUrl: tcp://localhost:1883username: devpassword: devclient-id: MQTT-CLIENT-DEVcleanSession: …

从0开始学习JavaScript--JavaScript 中 `let` 和 `const` 的区别及最佳实践

在JavaScript中&#xff0c;let 和 const 是两个用于声明变量的关键字。尽管它们看起来很相似&#xff0c;但它们之间有一些重要的区别。本篇博客将深入探讨 let 和 const 的用法、区别&#xff0c;并提供一些最佳实践&#xff0c;以确保在代码中正确使用它们。 let 和 const …

简单字符串处理

答案&#xff1a; #include <stdio.h> #include <string.h> #define MAX 51 //该定义宏为字符串最大长度 int main() {char arr[MAX] { 0 }; gets(arr); //读取存给arrint len 0, i 0, num 0;len strlen(arr); //len代表字符串长度for (i 0; i &l…

基于卷积神经网络的人体行为识别系统开发与设计

摘 要 基于卷积神经网络的人体行为识别的开发与设计 摘要&#xff1a;随着计算机领域不断的创新、其它行业对计算机的应用需求的提高以及社会对解放劳动力的迫切&#xff0c;人机交互成为人们关注的问题。深度学习的出现帮助了人们实现人机交互&#xff0c;而卷积神经网络是其…

从基础到进阶:实现div控件的拖拽和缩放功能

说在前面 元素拖拽和缩放现在也是一个很常见的功能&#xff0c;如果你正在寻找一个详细的教程&#xff0c;从基础到进阶地学习如何实现具备拖拽和缩放特性的div控件&#xff0c;那么本文将是你需要的&#xff01;我们将从HTML、CSS和JavaScript的基本知识入手&#xff0c;深入讨…

pgsql 更新A表的x字段通过查询b表的z字段

查询表t_local_warning_hit_source的send_time 更新到表t_local_warning_source WITH t2 AS ( SELECT ID, send_time FROM t_local_warning_hit_source WHERE send_time > 2023-09-27 00:00:00 AND send_time < 2023-11-28 00:00:00 ) UPDATE t_local_warning_source t…

牛客算法题 HJ99 自守数 golang实现

题目 HJ99 自守数 描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如&#xff1a;25^2 625&#xff0c;76^2 5776&#xff0c;9376^2 87909376。请求出n(包括n)以内的自守数的个数数据范围&#xff1a; 1 ≤ &#xfffd; ≤ 100001≤n≤10000 输入描述&…