python相关

一.json

参考文章:Python中的JSON数据处理 - 简书 (jianshu.com)

1.为什么要进行格式转化

json的格式

JSON书写格式_json怎么写-CSDN博客

复制代码
{
    "sites": [
        {
            "name": "Nemo",
            "url": "http://www.jianshu.com/u/ea364f9b9048"
        },
        {
            "name": "google",
            "url": "www.google.com"
        }
    ]
}

看起来和python中的字典是一样的,那为什么还要进行格式转化呢?

其实这只是看起来,实际上是有很大差异的,JSON里面的数据类型和Python里面的数据类型是不一样的;

比如Python里面的字典,JSON里面是对象;Python里面的字符串是str,而JSON里面是string;Python里面的空值是None,JSON里面的空值是null。

由于这些差异的存在,如果不转换直接使用把Python里面的字典当成JSON使用,或者直接拿获取到的JSON数据当成字典用,都会出错。

2.用内置模块json来转化

用来处理对象转换:

  • json.dumps(): 将Python数据编码(转换)为JSON数据;
  • json.loads(): 将JSON数据转换(解码)为Python数据;

用来处理文件:

  • json.dump(): 将Python数据编码并写入JSON文件;
  • json.load(): 从JSON文件中读取数据并解码。

二.tkinter

复制代码
Python tkinter之Treeview(表格) - 南风丶轻语 - 博客园 (cnblogs.com)

Python_tkinter_菜单(Menu)_python tkinter menu-CSDN博客

三.注意点

Python在for循环中更改list值的方法_python for循环修改list-CSDN博客

如何来隐藏、恢复、删除Tkinter的控件_python恢复控件-CSDN博客

机器学习基础

使用第三方库

下载第三方库:pip install 包名

下载速度慢可指定镜像源下载:pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple

查看所有下载的第三方库:pip list

查看某个包的下载信息(路径等):pip show 包名

环境管理

在不同环境下输入包命令显示结果是不同的:

输入where python 查看可运行环境
C:\Users\huawei\AppData\Local\Programs\Python\Python311\python.exe
D:\python\Hello\.venv\Scripts\python.exe
C:\Users\huawei\AppData\Local\Microsoft\WindowsApps\python.exe (没啥用)

默认的Base环境就是C:\Users\huawei\AppData\Local\Programs\Python\Python311\python.exe
之后我们创建一个python项目,就会创建一个虚拟运行环境,这些虚拟环境也是基于Base环境生成的D:\python\Hello\.venv\Scripts\python.exe(版本也是基于Base环境的),是python自带的环境管理venv来创建的。

不同环境相互独立。比如:打开cmd,输入pip install 包1,那会下载到Base环境下的包目录(C:\Users\huawei\AppData\Local\Programs\Python\Python311\Lib\site-packages)

在其他环境是没有的,此时我们进入Hello项目,是没有此包的,输入pip install 包1,此时才会下载到此环境下包目录( D:\python\deepseek\.venv\Lib\site-packages)

Anaconda管理环境

venv是python3后自带的,但是这个管理器只能基于我们系统下载的python,也就是说我们在python官网上载的是python311,那它只能产生这个版本的。

但是Anaconda可以创建很多不同版本的python环境。

复制代码
查看anaconda配置信息:
conda info  (安装源,envs directories虚拟环境下载路径)
查看虚拟环境列表:
conda env list
anaconda换源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
更改anaconda虚拟环境默认安装位置:
conda config --add envs_dirs D:\software\anaconda\envs
新建虚拟环境:
conda create -n yourname python=3.7
启用虚拟环境
conda activate yourname
删除虚拟环境
conda remove -n yourname --all
指定源安装
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

conda info中先envs directories和conda env list区别就是前一个是指conda在搜索环境时会检查的根目录列表。当创建新环境时会创建在列表第一个envs directory下。而后一个就是虚拟环境的位置。

我将其虚拟环境默认安装位置改为D:\soft\anaconda\envs。之后所有conda创建的环境在这里找。

可以看到当前我们的所有环境。

用conda命令创建了test命令。注意,此环境与conda的base环境对比。在base中常用的numpy,pandas等机器学习库都有了,而test环境中是没有的,只有基础库。

若test环境下载其他库,可用pip/conda 命令来下载,最好用conda因为这个命令还可以将不是python依赖的导入,避免失败。

如何打开其他人python项目

现在讲下如何把别人的python项目,拿过来用,我们首先要看项目的依赖需求,在项目的文件

requirements.txt下,比如:

复制代码
torch
torchvision
tensorboard
scikit-learn
scipy==1.2.1
numpy==1.17.0
matplotlib==3.1.2
opencv_python==4.1.2.30
tqdm==4.60.0
Pillow==8.2.0
h5py==2.10.0

我们可以询问ai,这些版本要基于python几的环境才可以下载,比如上面这个就只能基于python3.5-3.7,那我们原机的python11当然载不了这几个老版本,所以我们就可以创建一个新的conda环境基于python3.7。然后我们可以通过pip download将所有依赖文件requirements.txt的依赖下载到指定文件中,比如这里就是./offline_packages_py37,注意!pip download只是下载而已,并没有把这些包安装到环境中,即没有把包放入我们创建的facenet_orig这个conda环境中,我们还需要通过pip install,将这些安装包安装到环境中。

这条命令会从你本地的 offline_packages_py37 文件夹中查找并安装所有包。

复制代码
第一步:创建并激活 Python 3.7 环境
conda create -n facenet_orig python=3.7
conda activate facenet_orig

第二步:在环境中安装"棘手"的基础包
这些包用 conda 安装可以避免编译问题和依赖冲突。
conda install numpy==1.17.0 scipy==1.2.1 matplotlib==3.1.2

第三步:使用原始 requirements.txt 下载所有包
现在你的环境基础已经与项目要求对齐,可以尝试直接下载。
pip download -r requirements.txt -d ./offline_packages_py37
如果此命令成功,那么你就得到了一个完美的离线包集合。

第四步:将载入到文件中的安装包载入到conda环境中
pip install --no-index --find-links=./offline_packages_py37 -r requirements.txt

环境配好了之后,我们就可以运行项目了,在Pycharm中打开这个项目,然后选择settings-->project:[项目名]-->python Interpreter(python解释器)就可以选择这个项目指定的环境了,之后就可以运行了。

清理 Conda 缓存来释放 C 盘空间

Conda 的缓存目录默认在c盘,就是我们虽然在D盘创建conda环境,但实际上在创建环境和安装包的过程,会产生大量缓存文件,所以我们一运行C盘就爆红。

一篇文章教你清理 Anaconda 的 pkgs_conda clean -p-CSDN博客

conda进行清理:conda clean -p

1、conda clean -p 这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们

2、conda clean 命令是对所有anaconda下的包进行搜索,不用再进入其他环境重复操作。

清理压缩包缓存:conda clean -t

预防措施:更改 Conda 缓存路径(一劳永逸)

最根本的解决方法是将 Conda 的缓存目录移到非系统盘(如 D 盘)。

  1. 关闭所有 Conda 环境

  2. 在你想存放缓存的盘(如 D 盘)创建一个文件夹 ,例如 D:\conda_pkgs_cache

  3. 设置 Conda 配置

    复制代码
    conda config --add pkgs_dirs D:\conda_pkgs_cache
  4. 设置完成后,你可以手动将旧缓存文件夹(C:\Users\<你的用户名>\.conda\pkgs)里的内容移动到新目录,或者直接让 Conda 在未来使用新路径。

Jupyter Notebooks

Anaconda中已经下载好了Jupyter,我们打开anaconda navigator,之后在主页面中点击Launch即可。

或者直接搜索jupter,也可以打开。

或者在命令窗口(cmd)输入jupyter notebook也可以打开。

显示的目录就是电脑用户所在的目录。jupter以网页的形式将我们的文件显示出来。

切换目录,只需要打开cmd切换到指定目录位置,再输入jupyter notebook,就是当前目录下的文件。

打开后运行ipynb文件用的内核是anaconda的base环境。所以大多数库直接import就行,不用下载了。

详细使用
https://github.com/TommyZihao/zihaopython

两种类型单元格,Markdown和code

用shift+enter可以运行code单元格或者点击运行按钮

Pytorch

去官网PyTorch找到不同电脑使用的下载命令。

pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

相关推荐
happybasic2 小时前
python字典中字段重复性的分析~~
开发语言·python
山海青风2 小时前
人工智能基础与应用 - 数据处理、建模与预测流程 6 模型训练
人工智能·python·机器学习
ji_shuke2 小时前
opencv-mobile 和 ncnn-android 环境配置
android·前端·javascript·人工智能·opencv
l木本I2 小时前
Reinforcement Learning for VLA(强化学习+VLA)
c++·人工智能·python·机器学习·机器人
颖风船2 小时前
锂电池SOC估计的一种算法(改进无迹卡尔曼滤波)
python·算法·信号处理
94620164zwb52 小时前
应用设置模块 Cordova 与 OpenHarmony 混合开发实战
python
神说要有光_zy2 小时前
极其矛盾又顺其自然的2025
前端
551只玄猫2 小时前
KNN算法基础 机器学习基础1 python人工智能
人工智能·python·算法·机器学习·机器学习算法·knn·knn算法
前端程序猿之路2 小时前
基于扣子(Coze)工作流 API 的微信小程序开发实践总结
前端·微信小程序·小程序·大模型·api·ai编程·扣子