一文读懂 Python 开发环境配置
文章目录
- Python 多版本管理
- 1. 多版本使用需求
- 2. Windows 下多版本管理[^1]
- 3. Linux 系统下多版本管理[^2]
- Python 虚拟环境配置
- 1. 原理和配置需求
- 操作系统的环境变量
- 虚拟环境运行和 PATH 修改
- Python解释器和虚拟环境关系
- 2. 安装 & 配置
- 使用 Virtualenv 管理[^3]
- 使用 venv 管理
- 使用 [pipenv](https://pipenv.pypa.io/en/latest/) 管理
- 3. 激活 & 退出
- 4. Anaconda 虚拟环境管理
- 5. 与开发工具配合
- Visual Studio Code
- Pycharm
- 6. Python 开发环境部署
- VS Code开发环境使用过程常见问题
- 1. 同级目录模块调用
持续更新…
Python 多版本管理
1. 多版本使用需求
场景1:如果我们想在python3上运行2.x版本的代码,就需要对代码进行大量的修改,产生不必要的工作量。
2. Windows 下多版本管理1
步骤 1:官网 (速度慢)或者国内镜像(速度快)下载Python 对应版本;
步骤 2: 点击可执行文件安装 Python,注意选择“Add python.exe to Path”;
步骤 3: 打开 CMD,查看当前电脑下有哪些 Python 版本和安装位置;
> where python
C:\Users\***\AppData\Local\Programs\Python\Python39\python.exe
C:\Users\***\AppData\Local\Programs\Python\Python37\python.exe> python --version # 查看默认版本 或者python -V
Python 3.9.4
打开 python 的文件路径,或者右键 python 快捷方式打开 “打开文件位置” 找到 Python 的安装位置;
步骤 4 : 打开任意版本的 Python,并执行脚本命令;
方法1: 修改环境变量,将目标版本的 Python 路径添加到环境变量中,调用参数打开对应版本。
> py -3.9 # 快速启动 python 3.9
> py -3.7 # 快速启动 python 3.7> py -3.9 -V # 查看详细版本 > py -3.7 helloworld.py # 打开 python 2 脚本
方法2:复制一份重命名为python39.exe。注意是复制一份重命名,而不是直接重命名。
步骤 5 : 多版本共存对应版本的 pip 管理;
# 多版本共存查看 pip 版本
> python -m pip -V / pip -V # 查看默认 pip 版本
pip 21.1.1 from C:\Users\***\AppData\Local\Programs\Python\Python39\lib\site-packages\pip (python 3.9)
> py -3.7 -m pip -V
pip 20.1.1 from C:\Users\***\AppData\Local\Programs\Python\Python37\lib\site-packages\pip (python 3.7)# 卸载pip
> python -m pip uninstall pip setuptools# 多版本共存升级pip
> python -m pip install --upgrade pip
> py -3.7 -m pip install --upgrade pip # python 3.7 的pip更新
若更新好,重新运行命令,发现
Requirement already satisfied: pip in c:\users\octob\appdata\local\programs\python\python37\lib\site-packages (21.1.1)# 多版本共存如何 pip 安装
> pip install requests # 默认 python 关联的 pip 命令安装,安装在python3.9(默认)下
> py -3.7 -m pip install requests # python3.7 关联 pip 命令安装,安装在python3.7下> python -m pip list # 查看 list ,安装在C:\Users\***\AppData\Local\Programs\Python\Python39\Lib\site-packages
> python -m pip list --outdated # 检查哪些包需要更新
3. Linux 系统下多版本管理2
步骤 1: 查看 Linux 默认安装的 Python 位置
$ whereis python # 多版本 python 安装位置
$ which python # 默认 python 的位置
$ ls -l /usr/bin/python* # 了解软链接
- 软链接说明
步骤 2: 安装目标版本 Python
- 官网 (速度慢)或者国内镜像(速度快)下载Python 对应版本;
- 解压;
- 准备编译环境;
- 编译安装;
$ wget http://python.org/ftp/python/2.7/Python-2.7.tar.bz2$ tar -zxvf Python-3.6.5.tgz
$ yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel $ readline-devel tk-devel gcc make# 编译安装(进入 Python-3.6.5 目录)
$ ./configure --prefix=/root/training/Python-3.6.5
$ make && make install
步骤 3: 多版本 Python 管理
$ sudo rm /usr/bin/python$ python
~bash: /usr/bin/python: No such file or directory # 删除后没有对应$ ln -s /usr/bin/python2.7 /usr/bin/python # 建立软链接
$ # 建立目标对应链接$ python$ python3
步骤 4: 多版本 Pip 管理
- 创建软链接;
- 配置环境变量
# 安装pip前需要前置安装setuptools
$ wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
$ tar -zxvf setuptools-19.6.tar.gz
$ cd setuptools-19.6
$ sudo python3 setup.py build
$ sudo python3 setup.py install# 安装pip
$ wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
$ tar -zxvf pip-8.0.2.tar.gz
$ cd pip-8.0.2
$ sudo python3 setup.py build
$ sudo python3 setup.py install# 检查
$ pip -V# 不同版本 pip 下载包
$ pip install numpy
$ pip3 install numpy# 配置环境变量(直接使用pip,easy——install, 制订pip安装路径)
$ vi ~/.bash_profile
export PYTHON_HOME=/root/training/Python-3.6.5
export PATH=$PYTHON_HOME/bin:$PATH保存退出(:wq)
$ source ~/.bash_profile
$ echo $PYTHON_HOME
Python 虚拟环境配置
1. 原理和配置需求
虚拟环境并不是什么新技术,主要是利用了操作系统中环境变量以及进程间环境隔离的特性
操作系统的环境变量
可以为程序提供信息和做信息交换介质,进程可以共享操作系统中的环境变量,也可以为进程指定环境变量,其中 PATH 是很重要的环境变量,用于为操作系统和程序提供可执行文件的访问路径,例如写一个程序 a.exe,存放在 D:\MyProgram 中,在命令行中执行 a.exe ,会得到提示“ 无法找到程序 a.exe”,为了让系统找到,可以将 D:\MyProgram 路径加入到 PATH 环境变量中,当输入 a.exe 时,操作系统就会从 PATH 所提供的路径中逐个查找,这时就可以找到了。Linux 和 MacOS 具有相似的特性,甚至比 Windows 的功能更丰富。
虚拟环境运行和 PATH 修改
Python 虚拟环境就是利用这个特性构建的,在激活虚拟环境之时,激活脚本会将当前命令行程序的 PATH 修改为虚拟环境的,这样执行命令就会在被修改的 PATH 中查找,从而避免了原本 PATH 可以找到的命令,从而实现了 Python 环境的隔离。
Python解释器和虚拟环境关系
- 一个操作系统下,可以有多个
“操作系统级别的” Python解释器
; - 每个Python解释器有一个指向自己的pip工具,两者
一一对应
; - 通过virtualenv可以虚拟任何一个“操作系统级别的”Python解释器成为一个“虚拟级别”的解释器;
- 每个“虚拟级别”的解释器又拥有自己独立的
pip工具和site-packages
。
2. 安装 & 配置
使用 Virtualenv 管理3
要点:
- python3.3 之前,只能通过 virtualenv 创建虚拟环境
- virtualenv 可以指定 python解析器版本,但必须是在本地已安装。
> pip install virtualenv # 默认 Python 位置安装 virtualenv
> virtualenv --no-site-packages myvenv # 创建在当前目录
--no-site-packages: 复制主环境中安装的第三方包
-p: 用于指定 Python 解析器,就是安装好的 Python 应用程序,默认为当前环境中的 Python
–no-pip:不需要安装 pip,默认为安装
–clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清楚重建
使用 venv 管理
要点:
- 因为 venv 是依附于一个 Python 解析器创建的,所以不需要指定 Python 解释器版本
- python 3.3 以后版本,可以通过自带模块 venv 创建虚拟环境
> python -m venv myvenv
–without-pip: 不需要安装 pip,默认为安装
–clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清楚重建
使用 pipenv 管理
# 下载
$ pip install pipenv
# 创建环境并安装
$ cd myproject
$ pipenv install # 创建环境
$ pipenv install requests # 或者直接安装库
# 如果不存在pipfile,会生成一个pipfile,并且如果有的库添加会自动编辑该文件,不会我们手动更新requirements.txt文件了。
# 激活
$ pipenv shell
$ python --version
3. 激活 & 退出
通过 virtualenv 和 模块 venv 创建的虚拟环境,激活方式是一样的,即运行激活脚本
- Windows 系统中,激活脚本路径是
<myvenv>\Scripts\activate.bat
,如果是 powershell 命令行,脚本换成Activate.ps1
, 注意将<myvenv>
换成你自己的虚拟环境目录 - Linux 系统中,激活脚本路径是
<myvenv>/bin/activate
,默认脚本没有执行权限,要么设置脚本为可执行,要么用source
命令执行,例如source myvenv/bin/activate
检验是否已激活
$ echo $PATH # linux 下
> echo %PATH% # window 下
退出虚拟环境很简单,只需要执行 deactivate
命令就行
linux:
$ deactivate
Windows 10:
> .\Scripts\deactivate.bat
4. Anaconda 虚拟环境管理
conda可以直接创建不同python版本的虚拟环境。前面讲的virtualenv只是指定创建不同python版本的虚拟环境,前提是你的电脑上已经安装了不同版本的python,与conda相比没有conda灵活。
# 查看 Python 环境
conda info --env# 创建一个python3.5的环境,我们把它命名为python35
conda create --name python35 python=3.5 # 安装
conda create --name python35 python=3.5 # numpy scipy #创建环境并安装包
conda create --name python37 --clone python37 # 克隆方式闯将环境# 激活环境并在环境中安装必要包( mac/linux 系统中需命令首加上 source)
conda activate python35 # 物理路径在D:\Anaconda\envs
conda deactivate python35
conda/pip install numpy# 迁移环境
conda list --explictit > bio-env.txtconda env export > py36.yaml
conda env create -f py36.yaml # conda 安装的
pip freeze > requirements.txt
pip install -r requirements.txt # pip 安装的pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com# 删除 python35
conda remove -n python35 --all# help
conda --help
详细命令见conda Cheet Sheet
5. 与开发工具配合
Visual Studio Code
按下 Ctrl+Shift+P, 在弹出的命令窗口中输入 “解析器”,然后在下拉列表中选择 “Python:选择解析器”,这里会缓存一些已经创建好的解析器,如果没有想要的,可以选择 “Enter interpreter path” 来选择解析器路径,即已经创建好的虚拟环境脚本文件夹中的 Python 程序,就可以创建一个新的解析器。
Pycharm
创建项目时,在项目创建对话框中,可以创建或者选择已经已有的解析器
其他参考67
6. Python 开发环境部署
此部分拷贝自Python 虚拟环境 看这一篇就够了
之所以在开发时选择虚拟环境,除了避免库之间的冲突,还有重要的原因时方便部署,因为虚拟环境时独立的,仅包含了项目相关的依赖库,所以部署的效率更高,风险更小
一般部署流程是:
- 开发完成后,使用
pip freeze > requirements.txt
命令将项目的库依赖导出,作为代码的一部分 - 将代码上传到服务器
- 在服务器上创建一个虚拟环境
- 激活虚拟环境,执行
pip install -r requirements.txt
,安装项目依赖
怎么运行项目,需要看项目的具体情况
- Web 项目 Web 项目一般使用 Django、Flask 的 Web 开发的提供 Web 服务的项目,部署时需要一个 Web 容器,作为程序的运行环境,容器的配置中都有一个虚拟环境的设置,其实是指定 Python 解析器的路径,将其设置为虚拟环境的目录或者 Python 解析器就可以了,启动时就用使用虚拟环境,并与其他环境隔离。例如 uWSGI 配置文件中 home 参数是用来指定解析器的。
- 服务类项目 服务类项目就是需要以服务的形式长时间运行的,例如之前介绍的 公交闹钟,或者一些定时爬虫之类的,对于 Linux 而言,当前主流的服务方式是 Systemd,是一种比 init 更先进的服务管理工具,在服务脚本中, 设置 ExecStart 执行命令为全路径的虚拟环境的 Python 解析器,服务启动时,使用独立的虚拟环境了。 Windows 服务,对于达成 EXE 包的,不需要配置虚拟环境,因为打包时已经考虑了环境问题了,如果时脚本运行的话,需要指定全路径的 Python 解析器
- 单次运行项目 对于一些测试或者实验性质的项目,大多数情况下手动执行,只要在激活的虚拟环境下,或者用特定的 Python 解析器运行就好了,和在开发过程中运行区别不大
VS Code开发环境使用过程常见问题
1. 同级目录模块调用
在 comb_analyser.py 下 想调用 config 下配置文件。
方法1:在 comb_analyser.py 中添加 如下片段
import sys,os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # __file__获取执行文件相对路径,整行为取上一级的上一级目录
sys.path.append(BASE_DIR)
方法2:在setting.json中添加自动寻找路径(此方法测试不成功)
"python.autoComplete.extraPaths": ["e:/engine-fault-diagnosis-signal_processing","e:/engine-fault-diagnosis-signal_processing/config"]
python多版本安装 ↩︎
Linux下多版本python与多版本pip以及对应安装库包管理 ↩︎
virtualenv 虚拟环境 ↩︎
Pipenv:新一代Python项目环境与依赖管理工具 ↩︎
Pipenv——最好用的python虚拟环境和包管理工具 ↩︎
最全的Python虚拟环境使用方法 ↩︎
Python 虚拟环境 看这一篇就够了 ↩︎
一文读懂 Python 开发环境配置相关推荐
- python读取枚举_一文读懂Python 枚举
enum是一组绑定到唯一常数值的符号名称,并且具备可迭代性和可比较性的特性.我们可以使用 enum 创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护. 创建枚举 我 ...
- python开发环境配置以及其简单的运行方式
python开发环境配置 1.开发环境的安装 到python主页上选择下载自己所需要的python版本,以下是其链接 python主页. 点击下载,选择系统(这里演示wondows系统)如下图: 选择 ...
- python输入什么就输出什么_一文读懂Python的输入和输出
本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...
- Eclipse python 开发环境配置
Eclipse python 开发环境配置 由于项目需要用到脚本配置的东西,看了看Python能够做到基本上需要的工作,选择了 2.7.3稳定版本来进行测试开发. 转自: Eclipse+python ...
- 1.2 Python开发环境配置 | Python语言程序设计(嵩天)
文章目录 课程简介 第一章 Python基本语法 1.2 Python开发环境配置 Python语言概述 Python开发环境IDLE python的安装与环境配置 Python基本开发环境 Pyth ...
- 一文读懂python本地开发环境配置
python和java包管理的不同 java java需要安装jdk,我们通常使用maven进行包管理,有中央仓库,有本地仓库,项目优先从本地仓库拉取,拉不到会从远程仓库拉取,所有项目用到的包都会放在 ...
- python开发环境配置config_manjaro与python开发环境配置
1.manjaro配置 1.1.启动项 sudo update-grub 注:Manjaro(archLinux)系统时间快8小时--> sudo timedatectl set-local-r ...
- python开发环境配置_百度资讯搜索_python开发环境配置
金生水起程序猿 2020年11月14日 11:20下载完成后就可以安装Python了,在安装过程中会弹出内容选择对话框,选中复选框Add Python 3.x to PATH,可以将Python的安装 ...
- 使用Vscode进行Python开发环境配置
Vscode是是一个强大的跨平台工具,我自己电脑是mac,公司电脑是win而且是内部环境,导致公司安装软件很费劲.好在vscode许多插件能直接离线安装,省去了很多麻烦. 很多人学习python,不知 ...
最新文章
- php ahp和jhp,php7.4编译(centos)
- python 倒计时_Excel制作竞答倒计时器
- 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
- java applet配置_配置Java Applet的运行环境
- OpenCV学习笔记二
- vue面试题,知识点汇总(有答案)
- Mysql 新增用户可访问指定数据库所有权限
- batchsize一定是2的幂_学习率和batchsize如何影响模型的性能?
- 两道关于回溯法,分支限界法的算法题
- [linux shell]比较运算符小坑(unary operator excepted 期望的一元运算符错误)
- 戴尔公司大中华区总裁黄陈宏 要烧哪三把火
- 初中高中睡前必看古诗名句
- python基础之socket编程 (转自林海峰老师)
- Java 获取服务器ip地址
- jitsi各工程编译笔记(一)各工程大概
- 如何利用whatsapp群发助手开发国外客户
- 语料标注平台BRAT安装说明
- 逻辑函数的公式化减法
- 新技能get!用 Python 高效背单词!
- Word插入题注快捷键