包管理器选择

从轻到重: venv → virtualenv → conda

  • venv: Python 3.3+ 内置,轻量级虚拟环境
  • virtualenv: 第三方包,支持更多Python版本
  • conda: 科学计算友好,包含包管理和环境管理

Python 版本支持

查看各版本支持状态:Status of Python versions

推荐: 如果需要进行科学计算、数据分析,使用 numpy、scipy 等有 C 扩展的第三方模块,特别是在 Windows 系统上,建议直接使用 Anaconda,可以减少很多麻烦。

Conda 环境管理

基本概念

  • Anaconda: 包含了 Python、常见的数据扩展包、conda 工具
  • 安装路径: /anaconda3/bin
  • 文档: https://conda.io/docs

环境管理命令

# 创建环境
conda create -n py39 python=3.9 anaconda    # 包含科学计算库
conda create -n py39 python=3.9             # 基础环境# 激活和退出环境
conda activate py39
conda deactivate# 环境管理
conda env list                    # 列出所有环境
conda info --envs                 # 列出所有环境(同上)
conda env remove -n py39          # 删除环境# 包管理
conda install tensorflow          # 安装包
conda install -c conda-forge package_name  # 从指定频道安装
conda list                        # 列出当前环境所有包
conda update package_name         # 更新包
conda remove package_name         # 删除包# 查看信息
conda info                        # 查看conda信息
python -c 'import tensorflow;print(tensorflow.__version__)'  # 测试安装

pip 包管理

镜像源配置

# 永久配置(推荐)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 临时使用镜像源安装
pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install package_name -i http://pypi.douban.com/simple --trusted-host pypi.douban.com# 查看当前配置
pip config list# 常用镜像源
# 清华: https://pypi.tuna.tsinghua.edu.cn/simple
# 豆瓣: http://pypi.douban.com/simple
# 中科大: https://pypi.mirrors.ustc.edu.cn/simple/

基本安装命令

# 安装包
pip install package_name           # 安装最新版本
pip install package_name==1.0.0    # 安装指定版本
pip install package_name>=1.0.0    # 安装指定版本以上# 安装选项
pip install --upgrade package_name # 升级包
pip install --ignore-installed package_name  # 忽略已安装包重新安装
pip install --user package_name    # 安装到用户目录# 卸载包
pip uninstall package_name# 查看信息
pip list                           # 列出所有包
pip show package_name              # 显示包详细信息
pip config list                   # 查看pip配置(同上镜像源配置中的命令)

环境复制和管理

# 生成当前环境包列表
pip freeze > requirements.txt# 从requirements文件安装
pip install -r requirements.txt# 示例输出
# docutils==0.11
# Jinja2==2.7.2
# MarkupSafe==0.19
# Pygments==1.6
# Sphinx==1.2.2

venv 虚拟环境

创建和使用

# 创建虚拟环境
python3 -m venv myvenv# 激活环境
source myvenv/bin/activate         # Linux/Mac
myvenv\Scripts\activate            # Windows# 退出环境
deactivate# 在激活的环境中操作
pip install --upgrade pip          # 升级pip
pip install requests               # 安装包# 删除环境
rm -rf myvenv

virtualenv 虚拟环境

基本使用

# 创建虚拟环境
virtualenv ENV# 激活环境
source ENV/bin/activate            # Linux/Mac
ENV\Scripts\activate               # Windows# 退出环境
deactivate# 删除环境
rm -rf ENV

Python 版本管理

查看版本

python --version                   # 查看Python版本
python3 --version                  # 查看Python3版本
pip --version                      # 查看pip版本# 查看Python路径
which python                       # Linux/Mac
where python                       # Windows

切换版本(使用pyenv推荐)

# 安装pyenv后
pyenv install 3.9.0               # 安装Python版本
pyenv global 3.9.0                # 设置全局版本
pyenv local 3.9.0                 # 设置项目版本
pyenv versions                     # 列出所有版本

快速开发服务

HTTP 服务器

# Python 2
python -m SimpleHTTPServer 7878# Python 3
python -m http.server 7878

常用开发包安装示例

数据库相关

pip install mysql-connector-python # MySQL连接器
pip install psycopg2               # PostgreSQL连接器

科学计算

# 通过conda安装(推荐)
conda install numpy pandas matplotlib scipy jupyter# 通过pip安装
pip install numpy pandas matplotlib scipy jupyter

环境迁移最佳实践

方案一:使用 requirements.txt

# 在原环境中
pip freeze > requirements.txt# 在新环境中
pip install -r requirements.txt

方案二:使用 conda 环境导出

# 导出环境
conda env export > environment.yml# 创建相同环境
conda env create -f environment.yml

故障排除

常见问题

  1. Windows 上 C 扩展包安装失败: 使用 Anaconda 或预编译的 wheel 包
  2. 网络问题: 使用国内镜像源
  3. 权限问题: 使用虚拟环境避免系统级安装
  4. 版本冲突: 使用虚拟环境隔离不同项目的依赖

附:

常用命令工具集

搜索和文本处理工具

ripgrep (rg)

rg "搜索内容" /Users/renzhibin/mycode/keploy

ag - 快速搜索工具

ag:比grep、ack更快的递归搜索文件内容

cloc - 代码统计

cloc /Users/renzhibin/mycode/keploy  # 统计代码行数

fzf - 模糊搜索

fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl-r历史命令搜索简直完美

tldr - 命令帮助工具

tldr 命令名  # 查看命令的简化帮助文档
# 示例:tldr tar, tldr grep, tldr find

sed - 文本替换

# 循环替换子目录
find . -type f|xargs sed -i 's/测试/哦也/'
grep -l -i -R '* 100' ./*|xargs sed -i '' 's/* 100//g'
SED正则表达式规则

位置符号:

  • ^: 表示句首,如 ^abc 表示以 abc 开始的句子
  • $: 表示句尾,如 abc$ 表示以 abc 结尾的句子
  • <: 表示词首,如 <abc 表示以 abc 开始的词
  • >: 表示词尾,如 abc> 表示以 abc 结尾的词

数量控制符:

  • *: 前一个字符出现0或多次
  • ?: 前一个字符出现0或1次
  • +: 前一个字符出现1或多次
  • {n}: 前一个字符出现n次
  • {n,}: 前一个字符出现至少n次
  • {n,m}: 前一个字符出现n到m次

字符集:

  • .: 任意字符
  • [:alnum:]: 字母数字 [a-z A-Z 0-9]
  • [:alpha:]: 字母 [a-z A-Z]
  • [:digit:]: 数字 [0-9]
  • [:space:]: 空格

文件压缩和解压

tar 压缩解压

# 压缩
tar -czvf 文件名.tar.gz 文件或目录路径
# 示例:tar -czvf logs.tar.gz /var/log# 解压
tar -xzvf 文件名.tar.gz 文件或目录路径

系统进程和端口管理

端口查看

lsof -i :端口号

进程目录查看

pwdx pid  # 找到进程的文件路径

进程信息查看

ps -eo pid,cmd,etime,lstart
ps -eo pid,rss | awk '{ sum += $2 } END { print sum/1024.0/1024.0 }'  # 进程内存统计

端口测试工具

telnet
# 成功示例
telnet 127.0.0.1 80
# 输出:Connected to 127.0.0.1# 失败示例  
telnet 127.0.0.1 8080
# 输出:Connection refused
nc (netcat)
# 成功
nc -zv 127.0.0.1 80
# 输出:Connection to 127.0.0.1 80 port [tcp/http] succeeded!# 失败
nc -zv 127.0.0.1 8080  
# 输出:Connection refused
SSH端口测试
ssh -v ip -p port
curl端口测试
curl -v 127.0.0.1:80
wget端口测试
wget 127.0.0.1:80
lsof本地端口查看
lsof -i:port
netstat网络连接查看
netstat -lntp
# -l 列出所有端口
# -n 以数字显示地址和端口  
# -t 列出tcp协议连接,-u列出udp连接,-a列出所有
# -p 显示占用该端口的进程

系统信息查看

内存查看

# 整体内存
free -h# 进程占用常驻内存
ps -eo pid,rss | awk '{ sum += $2 } END { print sum/1024.0/1024.0 }'

Linux发行版查看

lsb_release -a
cat /etc/centos-release

软连接查看

readlink -f /usr/bin/java
# 硬链:stat 或 ls -i 通过inode来确认是否为同一文件

会话管理工具

screen

sudo apt install screen   # Ubuntu/Debian安装
screen                    # 创建新会话
screen -S <session_name>  # 创建命名会话
screen -ls               # 列出所有会话
screen -r <session_name> # 恢复会话
screen -d <session_name> # 强制分离会话
screen -X -S <PID> quit  # 终止会话# 快捷键:Ctrl+A 再按 D 脱离会话

tmux

tmux new -s my_session           # 创建会话
tmux attach -t model_training    # 连接会话
tmux kill-session -t my_session  # 终止会话# 快捷键:Ctrl+B, D 分离会话

数据库

MySQL

brew services start mysql
mysql -u root# 默认密码
Root@123456

包管理工具

Homebrew (macOS)

# 安装前路径:/usr/local
# 重新安装后路径:/opt/homebrewbrew services start mysql
brew edit openresty

参考链接:Homebrew相关文章

Chocolatey (Windows)

$env:PATH = $env:PATH + ';C:\ProgramData\chocolatey\bin'
choco install make

开发工具

Java相关

SonarQube
mvn sonar:sonar \-Dsonar.host.url=http://localhost:9000 \-Dsonar.login=sqa_7a58a86056fdcf4be71ce0dde36f4dc12b533fc2 \-Dsonar.java.binaries=target/sonar

IntelliJ IDEA

代码优化
  • 全选代码:Ctrl + A
  • 格式化代码:Ctrl + Alt + L
代码跳转
  • 返回前一位置:Alt + 左箭头 (Windows/Linux) 或 Command + [ (Mac)
  • 或点击导航栏的 “Navigate Back” 按钮
注释
  • 切换到块注释模式后,使用 Ctrl + /Cmd + / 添加多行注释

Sublime Text

多行编辑
  1. 鼠标选中多行,按下 Ctrl + Shift + L (Command + Shift + L) 同时编辑多行
  2. 选中文本后反复按 Ctrl + D (Command + D) 继续选中下一个相同文本
列编辑模式
  1. 按住 Alt (Windows/Linux) 或 Option (Mac),拖动鼠标选中列区域
  2. 在列选择状态下输入内容,可在多行统一添加

文件操作工具

macOS剪贴板

# 复制文件内容到剪贴板
cat your_file.txt | pbcopy# 从剪贴板粘贴内容
pbpaste

文件传输

scp /local/file user@remote_host:/remote/path/

macOS快捷键

基本操作

  • 退出应用:Command + Q
  • 关闭标签页:Command + W
  • 刷新:Command + R
  • 新建标签页:Command + T
  • 截屏:Shift + Command + 5

系统操作

  • 全屏切换:Ctrl + Command + F
  • 显示桌面:Command + F3
  • 锁屏:Shift + Control + 电源键
  • 隐藏程序坞:Command + Option + D

Terminal/iTerm快捷键

  • 行首:Ctrl + A
  • 行尾:Ctrl + E
  • 清屏:Ctrl + L
  • 搜索历史命令:Ctrl + R
  • 清除当前行:Ctrl + U
  • 清除到行尾:Ctrl + K
  • 按单词移动:Option + 方向键
  • 翻页:Ctrl + F / Ctrl + B

应用权限修复

# 修复"应用已损坏"问题
sudo xattr -r -d com.apple.quarantine /Applications/xxxx.app

系统路径

CentOS

/media/psf/Downloads  # 共享目录路径

标准输入输出

  • 0: 标准输入 (stdin)
  • 1: 标准输出 (stdout)
  • 2: 标准错误 (stderr)

内网穿透

推荐工具:4.2K Star!一个开源内网穿透工具!优秀!

Git相关

(此处可以添加具体的Git命令)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/86056.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/86056.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/86056.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macOS - 根据序列号查看机型、保障信息

文章目录 最近在看 MacBook 二手机&#xff0c;有个咸鱼卖家放个截图 说不清参数&#xff0c;于是想根据 序列号 查看机型。苹果提供了这样的网页&#xff1a; https://checkcoverage.apple.com/ &#xff08;无需登录&#xff09; 结果 2025-06-20&#xff08;五&#xff09;…

数字化项目调研过程中需要的文章

Hello&#xff0c;大家好 &#xff0c;我是东哥说-MES 最近写了不少的文章&#xff0c;为了方便阅读&#xff0c;特意重新整理了数字化相关的文章链接&#xff0c;也便于大家阅读 数字工厂项目启动与业务需求调研执行指南-CSDN博客文章浏览阅读725次&#xff0c;点赞28次&…

LangChain4j之会话功能AiServices工具类的使用(系列二)

概述 LangChain4j 的会话功能 AiServices 工具类&#xff0c;可助力轻松实现智能对话。它能记录对话上下文&#xff0c;让 AI 回答连贯且贴合情境。使用起来&#xff0c;先引入类&#xff0c;配置好相关参数&#xff0c;如模型地址、密钥等。接着&#xff0c;调用相应方法传入…

Qt 中使用 gtest 做单元测试

作者&#xff1a;billy 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 gtest 简介 GoogleTest&#xff08;也称为gtest&#xff09;是由 Google 开发的一个 C 单元测试框架&#xff0c;用于编写、组织和运行…

WPF TreeView 数据绑定完全指南:MVVM 模式实现

WPF TreeView 数据绑定完全指南&#xff1a;MVVM 模式实现 一、TreeView 绑定的核心概念1.1 MVVM 模式下的 TreeView 绑定原理1.2 绑定关系示意图 二、完整实现步骤2.1 创建节点模型类2.2 创建 ViewModel2.3 XAML 绑定配置2.4 设置 Window 的 DataContext 三、关键特性详解3.1 …

坤驰科技QTS4200战鹰(Battle Eagle)系列实时频谱分析记录回放系统

QTS4200战鹰(Battle Eagle)系列 实时频谱分析记录回放系统 精准采集&#xff5c;高效回放&#xff5c;拓展频谱分析新边界 坤驰科技倾力打造新一代集实时频谱分析、高速信号记录与精准信号回放于一体的便携式系统&#xff0c;为无线电监测、无线通信、国防等领域提供全面而高…

Flask(二) 路由routes

文章目录 基本路由定义路由参数路由规则设置请求方法&#xff08;GET/POST&#xff09;路由函数返回静态文件和模板Blueprint&#xff08;模块化路由&#xff09;显示当前所有路由 Flask 路由是 Web 应用程序中将 URL 映射到 Python 函数的机制。 定义路由&#xff1a;使用 app…

在el-image组件的预览中添加打印功能(自定义功能)

思路&#xff1a;给图片添加点击事件&#xff0c;通过js获取预览的工具栏&#xff0c;在工具栏中添加自定义按钮及事件 1、html 中 image标签 <el-image style"width: 139px; height: 89px" :src"fileUrl" :preview-src-list"[fileUrl]" cli…

TongWeb替换tomcat

1、背景 国家近年来大力推进信息技术应用创新产业&#xff08;信创&#xff09;&#xff0c;要求关键领域采用自主可控的国产软硬件。Tomcat作为国外开源产品&#xff0c;存在潜在的安全风险和技术依赖。TongWeb作为国产中间件&#xff0c;符合信创目录要求&#xff0c;满足政府…

联合语音和文本机器翻译,支持多达100种语言(nature子刊论文研读)

简介&#xff1a; &#x1f30d; SEAMLESSM4T 是一种单一模型&#xff0c;实现了跨越多达 101 种源语言和多种目标语言的语音到语音、语音到文本、文本到语音和文本到文本翻译及自动语音识别。&#x1f680; 该模型性能显著超越现有级联系统&#xff0c;特别是在语音到文本和语…

网站公安网安备案查询API集成指南

网站公安网安备案查询API集成指南 引言 随着互联网应用的日益普及&#xff0c;网络安全和个人隐私保护越来越受到重视。公安网安备案作为保障网络安全的重要措施之一&#xff0c;对于确保网站合法合规运营具有重要意义。为了帮助开发者更加便捷地获取网站的公安网安备案信息&a…

如何用远程调试工具排查 WebView 与原生通信问题(iOS或Android)

WebView 在移动端开发中的角色越来越关键&#xff0c;尤其在混合架构&#xff08;Hybrid&#xff09;项目中&#xff0c;它作为前端与原生的桥梁&#xff0c;承载了大量交互行为。但这个桥梁并不总是稳固&#xff0c;尤其是在涉及 JSBridge 通信 时&#xff0c;前端调用原生接口…

使用 spark-submit 运行依赖第三方库的 Python 文件

python文件在spark集群运行真的麻烦&#xff0c;烦冗 spark运行分为了三个模式&#xff0c;本地模式/client模式/cluster模式 文章目录 本地模式client模式cluster模式参考 本地模式 现在的spark支持python3了&#xff0c;支持python2的版本已经很落后了&#xff0c;所以需要…

【android bluetooth 协议分析 05】【蓝牙连接详解2】【acl_interface_t介绍】

1. acl_interface_t 介绍 acl_interface_t 结构体及其子结构体&#xff0c;目的是封装处理 Classic、LE、SCO 连接及链路事件的回调函数&#xff0c;用于 HCI 事件与上层蓝牙协议栈的解耦分发。 system/main/shim/acl_legacy_interface.h typedef struct {void (*on_connect…

TouchDIVER Pro触觉手套:虚拟现实中的多模态交互新选择

随着虚拟现实技术的发展&#xff0c;用户对沉浸式体验的需求不断提升。TouchDIVER Pro触觉手套通过力反馈、纹理渲染和温度提示三种核心机制&#xff0c;为用户提供更真实的触觉感知体验。六个驱动点分布于五指与手掌&#xff0c;结合全手追踪与低延迟连接&#xff0c;实现精准…

想考华为HCIA-AI,应该怎么入门?

华为HCIA-AI Solution认证作为华为人工智能认证体系的起点&#xff0c;吸引了许多希望进入AI领域或提升专业技能的学习者。如果你正考虑考取这个认证&#xff0c;这份纯科普向的入门指南希望能够帮你理清学习路径和关键准备点&#xff01; 第一、明确认证目标与要求 HCIA-AI S…

【Oracle篇】Windows平台单进程多线程架构设计与实现(比对Linux多进程架构)

&#x1f4ab;《博主主页》&#xff1a; &#x1f50e; CSDN主页__奈斯DB &#x1f50e; IF Club社区主页__奈斯、 &#x1f525;《擅长领域》&#xff1a;擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、N…

在微服务中使用 Sentinel

在微服务中集成 Sentinel 1. 添加依赖 对于 Spring Cloud 项目&#xff0c;首先需要添加 Sentinel 的依赖&#xff1a; <!-- Spring Cloud Alibaba Sentinel --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…

中断控制与实现

一、中断基本概念 1、中断 中断是一种异步事件&#xff0c;用于通知处理器某个事件已经发生&#xff0c;需要处理器立即处理。由于I/O操作的不确定因素以及处理器和I/O设备之间的速度不匹配&#xff0c;I/O设备可以通过某种硬件信号异步唤醒对应的处理器的响应&#xff0c;这些…

前端跨域解决方案(7):Node中间件

1 Node 中间件核心 1.1 为什么开发环境需要 Node 代理&#xff1f; 在前端开发中&#xff0c;我们常遇到&#xff1a;前端运行在localhost:3000&#xff0c;后端 API 在localhost:4000&#xff0c;跨域导致请求失败。而传统解决方案有以下局限性&#xff1a; 修改后端 CORS 配…