Pycharm确实是一个非常不错的Python开发IDE,尤其对于初学者而言。
安装完Pycharm,并未创建任何工程项目时的界面,选择新建一个Pure Python项目,
基于上述界面解读 :
1是新建项目路径可以在Location处选择。
2是Project Interpreter部分是选择新建项目所依赖的python库,第一个选项3会在项目中建立一个venv(virtualenv)目录,这里存放一个虚拟的python环境。这里所有的类库依赖都可以直接脱离系统安装的python独立运行。
8是Existing Interpreter关联已经存在的python解释器,如果不想在项目中出现venv这个虚拟解释器就可以选择本地安装的python环境。
3对应的是:在创建新项目的时候,pycharm提供了三种环境管理工具:Virtualenv、Pipenv,Conda 这三个玩意到底是什么?它们有什么不同?
其实,Conda、Virtualenv、Pipenv都是pyhton包,它们都是环境管理工具(conda还可以做包管理工具),当我们新建一个项目时,通过任何一个工具包都能创建一个python虚拟环境,对该项目设置指定版本的python库和模块。
虚拟环境的作用是啥?
Python 应用程序经常会使用某个特定版本的库或模块,但安装一个 Python 版本可能无法满足每个应用程序的要求。比如应用程序 A 需要一个特定模块的 1.0 版本,但是应用程序 B 需要该模块的 2.0 版本,这两个应用程序的要求是冲突的,安装版本 1.0 或者版本 2.0 将会导致其中一个应用程序不能运行。
这个问题的解决方案就是创建一个虚拟环境 (通常简称为“virtualenv”),包含一个特定版本的 Python,以及一些附加包的独立目录树。
不同的应用程序可以使用不同的虚拟环境。为了解决前面例子中的冲突,应用程序 A 可以有自己的虚拟环境,其中安装了特定模块的 1.0 版本。而应用程序 B 拥有另外一个安装了特定模块 2.0 版本的虚拟环境。如果应用程序 B 需求一个库升级到 3.0 的话,也不会影响到应用程序 A 的环境。
虚拟环境和非虚拟环境该怎么选?
如果你直接在 Pycharm 创建一个项目而不创建虚拟环境,那么你安装的第三方包都会安装到系统 Python 解释器的 site-packages 文件夹下,比如C:\Python\Python39\Lib\site-packages。
创建越多的项目,安装的库越多。当你又新建一个项目,必定会把 site-packages 下的所有库都导进来,可能有一些库你这个项目根本就不需要,但是又不能删除(因为别的项目有在用),这时候就需要虚拟环境了。
在 Pycharm 创建一个新项目。
File 》New Project 》Pure Pyhon,如下图所示:
不同版本的pycharm对应的界面不一样:
通过 Virtualenv 创建的虚拟目录放在本项目的下的 venv 文件夹中。
如果项目地址是 E:\PycharmProjects\pythonProject
虚拟环境的地址就是 E:\PycharmProjects\pythonProject\venv
虚拟环境中的库 E:\PycharmProjects\pythonProject\venv\Lib\site-packages
图中的 基本解释器 为 系统 Python 解释器,即自行在官网下载并配置好环境变量了的,一般系统 Python 解释器的第三方库都在 site-packages 目录下,比如我的 C:\Python\Python39\Lib\site-packages.
在 Virtualenv 环境中进行包的管理
Ctrl+Alt+S 或者 File 》Setting 》Python Interpreter
Virtualenv 一般配合 requirements.txt 文件对项目的依赖库进行管理。
requirements.txt 的格式如下:
这样的结构让人一目了然,且方便项目移植,当你克隆一个含有 requirements.txt 文件的项目,可以通过相关命令一键下载所有的依赖库。
requirements.txt 文件生成
打开 Pycharm ,Tool 》Sync Python Requirements
根据步骤自动生成一个 requirements.txt 文件。
打开 Pycharm 左下角的 Terminal(终端),输入以下代码:
pip freeze > requirements.txt
根据 requirements.txt 文件安装依赖库
若是导入一个新项目,且含有 requirements.txt 文件,则可根据 requirements.txt 安装所有的依赖库 pip install -r requirement.txt
更多详情参考 https://www.jetbrains.com/help/pycharm/2021.1/managing-dependencies.html
注意 Pycharm(2021.1.1版本) 没有内置 Pipenv,需要安装。
打开 cmd ,运行以下命令以确保系统中已安装 pip:
pip --version
pipenv 通过运行以下命令进行安装:
pip install --user pipenv
安装成功后在 cmd 输入以下命令:
py -m site --user-site,会返回 pipenv.exe 所在文件夹。
如:C:\Users\admin\AppData\Roaming\Python\Python39\site-packages
为了方便起见,可以将 pipenv.exe 所在文件夹 Scripts 添加到 PATH 环境变量中
"%PATH%;C:\Users\admin\AppData\Roaming\Python\Python39\Scripts"
打开 Pycharm ,创建一个新项目。
File 》New Project 》Pure Pyhon,如下图所示:
通过 Pipenv 创建的项目,虚拟环境并不在本项目的目录下,而是在 C:\Users\用户名\.virtualenvs 文件夹下。
Pipenv是 requests 库 的作者写的,因为 requirements.txt 的管理并不能尽善尽美,可能存在一些问题。在 Pipenv 虚拟环境中不用 requirements.txt,Pipfile 是 Pipenv 虚拟环境用于管理项目依赖项的专用文件。该文件对于使用 Pipenv 是必不可少的。当为新项目或现有项目创建 Pipenv 环境时,会自动生成 Pipfile。
Pipfile 的用法如下:
1、新建项目的 Pipfile 文件:
通过修改此 packages 部分来添加新的程序包依赖项。
[packages]
requests = “*”
每当您修改 Pipfile 文件时,PyCharm 都会建议执行以下操作之一:
pipenv lock——将新要求记录到 Pipfile.lock 文件中。
pipenv update——将新要求记录到 Pipfile.lock 文件中,并将缺少的依赖项安装在 Python 解释器上。
注意,Pycharm(2021.1.1) 也没有内置 Conda ,需要安装。
打开 Anaconda 官网选择适合你电脑的版本即可。
也可在清华大学开源软件镜像站下载,这个速度较快。
打开 Pycharm ,创建一个新项目。
File 》 New Project 》Pure Pyhon,如下图所示:
利用 Anaconda 进行虚拟环境包的管理
打开 Anaconda Navigator 图形界面 》Environment 》选需要安装包的环境 》 点绿色按钮 》Open Terminal,在 Terminal(终端)中用 pip 命令安装包即可。
Ctrl+Alt+S 或者 File 》Setting 》Python Interpreter
Conda 在conda环境下创建虚拟环境,venv文件夹在Anaconda下面,venv里面创建了一个工程目录文件夹;
那么到底这两个该怎么去选择呢,这里建议选择New Environment 可以在Base Interpreter选择系统中安装的Python解释器,这样做的好处有很多。
最终我选择使用下边的方式:
如果使用第二种方式即Existing Environment 新建项目 则是使用python安装路径下的编译器,这样我们pip安装的包就在可以在新建的项目中使用,而且不会将编译器复制一遍。新建出来的项目结构非常简单,不对,是什么都没有,因为他直接使用python安装路径下的编译器了。如图:
然后再这个工程内使用三方包一点问题都没有。
如果使用的是虚拟环境,如何切换:
那么,已经不小心掉到了这个【陷阱】里的同学,想将项目从虚拟环境,切换到本地 python 环境,怎么办呢?
在【File -> Settings -> project:你的项目名称 -> python interpreter】中,可以指定当前项目的 python 环境。
点击 Show All 会显示所有的环境,如下图。如果环境路径中带有【venv】表示为虚拟环境
我们要选择本地的 python 环境,而不是虚拟环境。
环境切换成功之后,【External Libraries】下会显示本地 python 环境路径
在 pycharm 当中运行时,就会使用本地环境去执行代码了。。
在编写 python 代码时,导包也是从这个 python 环境下面去导。
一般在开发 python 项目时,会使用虚拟环境。
虚拟环境的目的是,项目与项目之间的 python 环境隔离,项目所使用的 python 第三方库隔离。
如果你的项目当前正在虚拟环境当中,如何进入虚拟环境安装第三方库呢?
虚拟环境中安装和卸载第三方库的 2 种方式。
3.1)在 pycharm 的终端安装和卸载。
第一步:将 pycharm 的 Terminal 终端从 powershell 更换成 cmd.exe。(windows 环境)
这种情况下,我们需要手动执行命令,进入虚拟环境当中。
如果将 windows powershell 换成 cmd.exe,那么打开 Terminal 之后,就会自动进入虚拟环境当中。
这样就不用每次去切换了。
切换步骤:【File - Settings - Tools - Terminal - Shell path - 选择有 cmd.exe 的】
关掉之前打开的 Terminal,重新打开一个。就会自动切换到虚拟环境当中。
第二步:使用 pip 命令进行安装和卸载即可。
3.2)在项目的解释器配置界面安装和卸载第三方库
第一步:进入项目解释器配置界面。
操作步骤:【File - Settings - Project:你的项目名称 - Python Interpreter】
第二步:点 + 进入安装第三方库界面。
要卸载已安装的包
关于第三方库安装时很慢或者读取超时问题处理:
可以在安装第三方库时使用以下国内源:
pip 安装命令为:
pip install XXXX -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
https://blog.csdn.net/qq_35240555/article/details/123474660
https://blog.csdn.net/z97i714/article/details/102633977
https://blog.csdn.net/tomorrowsummer/article/details/90646471
https://www.cnblogs.com/Simple-Small/p/15628903.html