关键词:
PyCharm、配置、虚拟环境、Python解释器、环境变量
概要:
本文详细介绍了在Windows系统下安装和配置PyCharm与Python开发环境的步骤。内容包括设置中文界面、配置系统环境变量、设置Python解释器路径、创建和管理虚拟环境,以及终端和调试器的配置。文章强调了首次配置对PyCharm正常运行的重要性,并提供了使用pip进行依赖库管理的方法,如安装、导出、导入依赖库等常用操作。此外,还介绍了如何使用PyInstaller将Python代码打包为带有自定义图标的可执行文件,并解决了资源路径处理的问题。整体目标是帮助开发者顺利完成初始配置,提升开发效率。
这个首次配置与确认很重要,它甚至关系到后续PyCharm是否能正常运行。这也是我初学PyCharm编程时的经验和教训总结。
以下内容根据我自己的环境——Windows7系统下,布置Python3.8.10及PyCharm2022.2.3环境的实际情况的实战操作。Windows10及以上系统仍然可以布置Python3.8.10或以上版本、PyCharm2022.2.3或以上版本。大多操作步骤和界面基本一样,个别可能有所差异但可供参考。
一、设置前的介绍
1、Python3.8.10的缺省安装路径:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38
2、PyCharm2022.2.3的缺省安装路径:
C:\Program Files\JetBrains\PyCharm Community Edition 2022.2.3\bin
3、PyCharm建立的项目的缺省路径:
C:\Users\Administrator\PycharmProjects\pythonProject
4、为Python设置Windows7环境变量的路径应该是以下两个:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts
5、在PyCharm建立虚拟环境(Virtualenv环境)中的解释器的路径是:
假定你设置的虚拟环境的名称为venv。
在“Virtualenv环境”选项卡中:
(1)“路径”设置为
C:\Users\Administrator\PycharmProjects\pythonProject\venv
(2)“基础解释器”设置为
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe
系统解释器的路径是:
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe
【强烈建议】:在运行PyCharm进行Python项目开发前,建议完成以下二至五的设置和确认。
二、设置中文界面
在PyCharm中,
1、选择菜单 File(文件)-setting(设置)。
2、在setting(设置)窗口,选择“plugin”(插件)。
3、在插件窗口选择“Chinese(Simplified)Language”(简体中文),点击其后的“install”(安装)按钮。
4、根据提示,重启Python IDE,即重启PyCharm。
再打开PyCharm时,原来的英文界面就会变成简体中文界面了。
三、设置、确认Windows系统的环境变量的路径
以Windows7为例。在Windows系统中:
1、在“计算机/我的电脑”上点击鼠标右键,并从弹出菜单中点选“属性”。
2、在弹出的窗口(路径为“控制面板\系统和安全\系统”)中,点击“高级系统设置”。
3、在弹出的“系统属性”窗口,从“高级”选项卡中点选“环境变量”。
4、在界面下部的“环境变量”窗口,点击变量“path”,在其值中增添:
“C:\Users\Administrator\AppData\Local\Programs\Python\Python38”及
“C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts”
两个值。最后的结果类似以下这样的(注意:每句之间用英文的分号分隔):
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\Windows\system32;C:\Users\Administrator\AppData\Local\Programs\Python\Python38;C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts
四、其它相关设置
1、配置终端
在PyCharm中,通过菜单 文件-设置-工具-终端,在“应用程序设置”下的“Shell路径”后的路径框中,根据自己喜好选择下面其一内容作为路径即可:
(1)、设置cmd为PyCharm终端路径:
C:\Windows\system32\cmd.exe
(2)、设置PowerShell为PyCharm终端路径:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
我个人习惯设置cmd为PyCharm终端路径。
2、设置Python解释器
(1)在PyCharm中,依次鼠标点击 File(文件) → Settings(设置) → Project(项目:pythonProject) → Python Interpreter(Python解释器)
(2)点击Python解释器选框后的“添加解释器”,再点击“添加本地解释器...”
(3)确保“位置”后的路径为类似这样的“C:\Users\Administrator\PycharmProjects\pythonProject\venv”(注意:将venv换成你建立的虚拟环境的名字)。
(4)确保“基础解释器”后的路径为你已安装的Python 3.8.10解释器的路径,如:“C:\Users\Administrator\AppData\Local\Programs\Python\Python38\python.exe”
3、调整编辑器的编码与主题
(1)通过 File(文件) → Settings(设置) ,在Editor(编辑器) → File Encodings(文件编码) 中,将“全局编码”、“项目编码”都设置为UTF-8,以避免中文乱码。
(2)通过 File(文件) → Settings(设置),在 Appearance & Behavior(外观与行为)下,将 Theme(主题) 切换到深色/浅色模式以适配开发习惯(我习惯选择“High contrast”)。
4、配置调试器
在 菜单Run(运行) → Edit Configurations(编辑配置) 中设置运行参数,勾选“Emulate terminal in output console”(在输出控制台中模拟终端)以支持命令行交互式调试。
五、建立、激活、备份、删除虚拟环境
以下1-9条,除了1、2、8、9虚拟环境操作外,其它条目在编程过程中也高频地经常需要使用到。
在PyCharm的“终端”中输入以下命令,完成对应任务。
1、创建虚拟环境(以下假定虚拟环境名字是venv为例,缺省情况下就是这个名字)
python -m venv venv
2、激活虚拟环境
venv\Scripts\activate
已经激活的虚拟环境,在路径前有一个提示类似(venv) ,如:
(venv) C:\Users\Administrator\PycharmProjects\pythonProject>
【注意】在Python项目编程前,一定要确认Python项目的虚拟环境,确保是在自己的虚拟环境中操作!以隔离、免破坏Python编程大环境。
3、在安装依赖库之前,先将pip升级到最新版
(1)查看pip版本
pip --version
【注意】上面的指令,pip之后有个空格,其后再是两个“减号”。
(2)将pip升级到最新版、指定源安装依赖库
pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
(3)可选:升级pip到指定版本、指定源安装依赖库
pip install --upgrade pip==25.0.1 -i https://mirrors.aliyun.com/pypi/simple/
4、在虚拟环境中安装依赖库、指定源安装依赖库(下面以requests库为例):
pip install requests -i https://mirrors.aliyun.com/pypi/simple/
一次安装多个依赖库、指定源安装依赖库(下面以requests库、pyinstall库为例):
pip install requests pyinstall -i https://mirrors.aliyun.com/pypi/simple/
这里,指定的国内镜像源是阿里的(https://mirrors.aliyun.com/pypi/simple/)。你也可以指定国内其它镜像源,如:
清华的 https://pypi.tuna.tsinghua.edu.cn/simple/
豆包的 https://pypi.douban.com/simple/
或者直接使用Python官方的源 https://pypi.org/simple/
我给自己编了几行代码存为py文件,从阿里、清华、豆包及Python官方四个源中选择当前速度最快的源。
5、查看已安装的依赖库:
pip list
查看 pip 安装的某依赖库的路径(下面以pyinstaller库为例)
pip show pyinstaller
6、导出项目依赖到requirements.txt文件
pip freeze > requirements.txt
这样,后续可以从这个requirements.txt文件中安装这个项目/虚拟环境中适配的Python依赖库。
所以,通常我们会把最基础的依赖库在Python虚拟环境中先安装完,再进行这一步将基础依赖库导出到requirements.txt文件保存。
7、从requirements.txt文件安装依赖库:
pip install -r requirements.txt
(1)在开发每个项目前,可以先清除其它依赖库(我们自己可以试着用Python写一个小项目来完成这个任务哦。注意:pip、setuptools以及requests等依赖库,建议保留而不要清除了)。
(2)然后通过这个命令把最基础的依赖库在Python虚拟环境中先安装完(前提是,你要保存好这个requirements.txt文件,然后把它拷贝到你的工程项目目录中——这个路径通常类似C:\Users\Administrator\PycharmProjects\pythonProject)。
(3)再根据不同项目需求安装其它所需要的依赖库。
8、退出虚拟环境(停用虚拟环境)
deactivate
9、删除虚拟环境
到C:\Users\Administrator\PycharmProjects\pythonProject目录下
直接删除venv文件夹就可以了。
附、用pyinstaller打包py代码为EXE文件
1、让程序窗口使用自定义图标app.ico
pyinstaller --onefile --windowed --icon=app.ico --add-data "app.ico;." my_app.py
【以上脚本参数详解】
onefile:此参数的作用是把所有依赖项打包成单个可执行文件。用户在使用时只需运行这个文件,无需额外安装其他依赖。
windowed(也能写成-w):在 Windows 或者 macOS 系统中使用该参数,运行程序时不会显示命令行窗口。这对于 GUI 应用来说很实用,能避免多余窗口的出现。
icon=app.ico:该参数用于为生成的可执行文件设置自定义图标。app.ico是图标文件的路径,要保证这个图标文件是存在的。
add-data "app.ico;.":这个参数的用途是将额外的文件包含到打包文件中。格式为源文件路径;目标路径。
app.ico是要添加的文件。
.;代表在打包后的应用中,文件会被放在应用的根目录下。
my_app.py:这是主程序文件,也就是 PyInstaller 开始打包的入口文件。
注意要点
- 要保证app.ico文件是存在的,不然会出现错误。
- 在 Linux 系统中,图标参数会被忽略,不过其他参数依然可以正常使用。
- 如果应用需要访问外部资源(像配置文件、图片等),要使用--add-data参数把这些资源包含进去。
- 要是打包后的文件体积过大,可以考虑使用--exclude-module参数排除不需要的模块。
这个命令能够把 Python 脚本打包成一个独立的、带有自定义图标的可执行文件,适合发布给最终用户使用。
2、手动指定依赖项
有时候,PyInstaller 可能无法自动识别某些依赖项。你可以手动指定这些依赖项,具体命令如下:
pyinstaller --onefile --windowed --icon=app.ico --add-data "app.ico;." --hidden-import=pandas --hidden-import=psutil --hidden-import=openpyxl my_app.py
3、在程序视窗底部加版权信息标签
def main():
# 其它代码
# 版权信息标签
Label(root, text="湖北·理工男大辉郎 @版权所有 2025", font=("Arial", 10)).pack(side="bottom", pady=10)
# 运行主循环
root.mainloop()
【以上脚本及参数详解】
这段代码的作用是在图形界面(GUI)的底部添加一个版权信息标签,标签内容为 “湖北・理工男大辉郎 @版权所有 2025”,字体采用 Arial,大小为 10。同时,它还启动了 GUI 的主事件循环,以此来响应用户的交互操作。
root:这是 Tkinter 库中主窗口的实例,所有的 GUI 组件都要放置在这个主窗口里。
Label:它是 Tkinter 库中的一个组件,主要用于显示文本或者图像。
text="湖北·理工男大辉郎 @版权所有 2025":此参数设置了标签要显示的文本内容。
font=("Arial", 10):该参数对标签文本的字体和大小进行了设置,这里使用的是 Arial 字体,大小为 10。
pack(side="bottom", pady=10):
side="bottom":它的作用是将标签放置在主窗口的底部。
pady=10:设置标签在垂直方向上的外部边距为 10 像素,这样可以让标签与其他组件之间保持一定的距离。
root.mainloop():这行代码启动了 Tkinter 的主事件循环,使窗口能够持续显示,并且可以响应用户的操作,例如点击按钮、关闭窗口等。
4、【问】:app.ico已与my_app.py放在同一个工程项目文件夹中了,为啥用pyinstaller --onefile --windowed --icon=app.ico --add-data "app.ico;." my_app.py打包成exe文件后,打开exe程序视窗,其程序视窗图标不是我指定的图标呢?
【答】使用资源路径处理函数(兼容PyInstaller打包)
def resource_path(relative_path):
import sys
import os
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
【以上脚本及参数详解】
这段代码定义了一个名为resource_path的函数,其主要功能是获取资源文件(像图片、配置文件等)的正确路径。这个函数在使用 PyInstaller 将 Python 应用打包成单个可执行文件时尤为重要,因为打包后的资源文件路径和开发环境中的路径是不一样的。
relative_path:该参数表示资源文件相对于应用程序根目录的路径。例如,当图片位于应用根目录下的images文件夹时,相对路径可以写成"images/icon.png"。
sys._MEIPASS:在使用 PyInstaller 打包应用时,会创建一个临时文件夹,所有的资源文件都会被解压到这个临时文件夹中,而sys._MEIPASS就指向这个临时文件夹的路径。
os.path.abspath("."):当应用没有被打包,而是直接通过 Python 解释器运行时,这个表达式会返回当前工作目录的绝对路径。
os.path.join(base_path, relative_path):此表达式会将基础路径和相对路径组合成完整的路径,以确保在不同的操作系统中都能正确处理路径分隔符(在 Windows 系统中是\,在 Linux/macOS 系统中是/)。
工作原理
- 打包后运行:PyInstaller 会把所有的资源文件收集起来,并在运行时将它们解压到一个临时文件夹中,这个临时文件夹的路径可以通过sys._MEIPASS获取。
- 开发环境运行:如果应用是直接在开发环境中运行的,就不会有sys._MEIPASS这个变量,此时函数会使用当前工作目录作为基础路径。
——The END——
欢迎关注、收藏或转发。
转发时请注明来源于
微信公众号:cnFuJH
CSDN博客:https://blog.csdn.net/imewe