01.基础
2024/10/3大约 3 分钟
01.基础
1.1 pip
pip是用来下载包的工具,管理时一般使用下方命令即可# 换更新源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 安装包,包名通过空格隔开,如果需要特定版本,可以添加版本号 pip install numpy pandas==2.2.3 # 无网络时可以手动下载对应的whl包文件,并进行安装 pip install 文件路径 # 也可以将自己的包文件夹安装到当前环境 # -e表示使用当前文件夹中的代码,方便修改调试 pip install -e . # 更新包 pip install --upgrade numpy # 强制重新安装,存在安装会自动卸载 pip install --force-reinstall numpy pandas # 卸载包,-y表示确认,否则会出现提示框 pip uninstall numpy # 查看当前所有包 pip list # 查看单个包信息 pip show numpy关于包安装后无法正常使用的问题
如果包已经安装,编辑器中可以直接跳转找到对应的属性,但显示
AttributeError: module 'pandas' has no attribute 'DataFrame',说明可能包安装的过程中,出现了某些意外,python无法读取到这个包的一些信息,可以尝试强制重新安装--force-reinstallpipreqs是一个用于生成requirements.txt文件的第三方库。它会扫描你的项目目录,自动识别出项目中导入的库,并生成一个包含这些库的requirements.txt文件
# 安装
pip install pigar
# 使用,强制覆盖之前的requirements.txt
# 无法发现隐含调用和未找到的调用
pigar generate
# 如果希望导出所有库
pip freeze > requirements.txt
# 导入
pip install -r ./requirements.txt1.2 conda
conda是一个用于管理python环境、包、依赖关系的工具,可以很方便的创建、删除、切换、管理多个python环境,从Anaconda官网下载,推荐使用miniconda默认
base环境安装来自pip的包会安装到C盘,具体可以通过python -m site查看(命令输出中的USER_SITE字段)- 有尝试修改
site.py文件中的USER_SITE字段,无效果 - 可以尝试修改或添加
PYTHONUSERBASE变量为miniconda安装文件夹,如D:\miniconda,需要修改miniconda目录权限 - 如果不修改包安装位置,需要添加
USER_SITE对应文件夹中的Scripts目录到PATH
- 有尝试修改
配置其他环境变量
- 添加包括
minicoda文件夹中的.,Scripts,Library\bin三个环境路径到PATH环境变量中
D:\miniconda D:\miniconda\Scripts D:\miniconda\Library\bin- 添加包括
安装完成后在
~/.condarc中或使用对应命令行配置以下内容# 配置源,也可以使用conda config --add channels 源地址 命令添加 channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - conda-forge - bioconda - defaults show_channel_urls: true # 指定 conda 环境存放目录 # conda config --add envs_dirs D:/conda_env envs_dirs: - D:/conda_env # 默认为`~/.conda/envs/`有社区项目
mamba使用C++重写,速度更快,可以使用conda install mamba -n base -c conda-forge安装,命令和conda相同千万不要更新
conda,可能导致conda报错无法执行常用命令
# 创建环境,可以指定版本,还可以-c指定本次使用的源 conda create -n env_name python=3.8 # 查看环境列表 conda env list # 切换环境 conda activate env_name # 删除环境 conda remove -n env_name --all # 删除缓存 conda clean --all # 导出环境 conda env export > env_name.yml # 根据环境yml文件导入环境 conda env create -f env_name.yml
1.3 模块
1.4 基础语法
在python中,大部分基础语法还是和
C/JAVA一致,还额外提供了更方便的结构python不支持三元运算符
三元运算符的替代写法
在python中不支持三元运算符,但可以通过布尔短路求值和其他计算结合的方式实现(可读性差,不推荐)
a == 10 and a + 10 or 0 # 等同于 a + 10 if a == 10 else 0
