Windows10配置Python3开发环境

下载Python3.7.9

常用的Python发行版有两个,一个是官网的Python(CPython),一个是Conda

  1. 官网下载Python

Python官网: https://www.python.org/ftp/python/

  1. 下载Miniconda

配置conda

conda与anaconda、miniconda的区别

  • Conda:一个包管理器。Anaconda是一个发行包,conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
  • Anaconda:一个打包的集合器皿。里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。
  • Miniconda:顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

添加环境变量

本文Miniconda安装位置为D:\Applications\Miniconda3

1
2
D:\Applications\Miniconda3
D:\Applications\Miniconda3\Scripts

设置国内镜像

清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

通过以下命令在用户目录下创建.condarc文件:

1
conda config --set show_channel_urls yes

编辑.condarc,文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

修改默认包安装位置

编辑.condarc,追加文件内容如下:

1
2
3
4
envs_dirs:
- D:\Applications\Miniconda3\envs
pkgs_dirs:
- D:\Applications\Miniconda3\pkgs

设置pip cache目录

1
pip config set global.cache-dir "D:\Applications\Miniconda3\pip-cache"

conda 常用命令

官方API:https://conda.io/projects/conda/en/latest/index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 激活虚拟环境
conda activate env_name
# 退出虚拟环境
conda deactivate
# 创建虚拟环境
conda create -n python37 python=3.7
# 移除虚拟环境
conda remove -n python37 --all
# 列出虚拟环境
conda env list
# 卸载虚拟环境
conda remove -n python37 --all
# 安装包
conda install requests or pip install requests
# 卸载包
conda remove requests or pip uninstall requests
# 查看环境包信息
conda list
# 激活需要清理的环境
conda activate python37
# 删除未使用的软件包和缓存
conda clean --all

pip 管理项目依赖

pipreqs: https://github.com/bndr/pipreqs

将项目中使用到的包导出到 requirements.txt

1
2
pip install pipreqs
pipreqs . --force --encoding=utf-8 --proxy http://127.0.0.1:10809
  • –force: requirements.txt 存在则覆盖
  • –encoding=utf-8: 设置打开文件的编码
  • –proxy: 设置代理,否则国内无法访问 PyPi server

移除不在 requirements.txt 中的包, 新建 clean.bat ,文件内容如下

1
2
3
4
@echo off
for /f "delims=" %%i in ('pip freeze ^| findstr /v /g:requirements.txt') do (
pip uninstall -y %%i
)

常见问题

创建虚拟环境时,如果出现以下报错,则将.condarc中的https://更改为http://

1
2
3
4
CondaSSLError: OpenSSL appears to be unavailable on this machine. OpenSSL is required to
download and install packages.

Exception: HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443): Max retries exceeded with url: /anaconda/pkgs/main/win-64/current_repodata.json (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))

配置pip

设置国内镜像

  • 临时使用

可以在使用 pip 的时候在后面加上-i参数,指定 pip 源

1
pip install xxx -i http://mirrors.aliyun.com/pypi/simple/
  • 永久修改
  1. Linux

修改 ~/.pip/pip.conf (没有就创建一个),内容如下:

1
2
3
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
  1. Windows

在 user 目录中创建一个 pip 目录,如:%USERPROFILE%\pip,新建文件 pip.ini,内容如下:

1
2
3
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

修改默认包安装位置

以官网下载Python(CPython)为例,Python安装位置为D:\Applications\Python

  1. 安装目录解释

Python 目录/文件的具体用途:

  • DLLs Python 自己使用的动态库
  • Doc 自带的 Python 使用说明文档(如果上面安装时不选择,应该会没有,这个没具体试过)
  • include 包含共享目录
  • Lib 库文件,放自定义模块和包
  • libs 编译生成的 Python 自己使用的静态库
  • Scripts 各种包/模块对应的可执行程序。安装时如果选择了 pip。那么 pip 的可执行程序就在此!
  • tcl 桌面编程包

pip 包默认安装位置是%USERPROFILE%\AppData\Roaming\Python\Python37\Lib\site-packages

  1. 修改配置文件

命令行输入:python -m site -help

修改配置文件,配置文件位置为:D:\Applications\Python\Python37\Lib\site.py

内容如下

1
2
USER_SITE = 'D:\Applications\Python\Python37\Lib\site-packages'
USER_BASE = 'D:\Applications\Python\Python37\Scripts'

设置 pip cache 目录

1
pip config set global.cache-dir "D:\Applications\Python\Python37\pip-cache"

升级 pip

1
python -m pip install --upgrade pip

配置PyQt5开发环境

创建项目

使用Conda创建一个项目,Python版本为3.7

安装pyqt5、pyqt5-tools

Conda中没有pyqt5相关的包,所以我们使用pip安装pyqt5和pyqt5-tools

  1. 安装pyqt5

https://pypi.org/project/PyQt5/

这是开发PyQt5最主要的包。

1
pip install PyQt5
  1. pyqt5-tools

https://pypi.org/project/pyqt5-tools/

这个可以帮我我们快速开发,例如可以借助包里面的工具(designer),快速设计界面。

1
pip install pyqt5-tools

如何配置designer?

如下图所示配置designer.exe文件位置,例如D:\Applications\Miniconda3\envs\pyqt5-demo\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

如何使用?

主界面如下:

第一行代码

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys

from PyQt5.QtWidgets import QApplication, QWidget, QLabel


def window():
app = QApplication(sys.argv)
widget = QWidget()

text_label = QLabel(widget)
text_label.setText("Hello World!")
text_label.move(110, 85)

widget.setGeometry(50, 50, 320, 200)
widget.setWindowTitle("PyQt5 Example")
widget.show()
sys.exit(app.exec_())


if __name__ == '__main__':
window()

运行效果如下: