iis 默认网站删除php无法调用wordpress
iis 默认网站删除,php无法调用wordpress,网站建设 十佳制作,wordpress+php调优从零开始:Python 量化开发环境搭建指南
前两篇介绍了技术选型和 AI 智能体集成,这篇开始实战。从零开始搭建 Python 量化开发环境,并编写第一个完整的数据获取脚本。
环境选择
Python 版本
推荐:Python 3.8+
理由: 3.8 引入了类型注解增强(typing.Protocol 等) 3.9…从零开始:Python 量化开发环境搭建指南前两篇介绍了技术选型和 AI 智能体集成,这篇开始实战。从零开始搭建 Python 量化开发环境,并编写第一个完整的数据获取脚本。环境选择Python 版本推荐:Python 3.8+理由:3.8 引入了类型注解增强(typing.Protocol等)3.9+ 支持字典类型简写(dict[str, int])3.10+ 支持模式匹配(match-case)太新的版本(3.12+)可能部分库兼容性不好实际项目选择:3.10(稳定性和新特性的平衡)包管理工具工具优点缺点推荐场景pip官方默认,简单依赖冲突难解决简单项目conda环境隔离好体积大,慢数据科学poetry依赖管理优秀学习成本中大型项目venv + pip轻量,灵活需手动管理推荐本系列选择:venv + pip(最通用,迁移成本低)环境搭建步骤 1:创建项目目录# 创建项目目录mkdirtushare-quantcdtushare-quant# 创建子目录mkdir-pdata/csv# CSV 数据mkdir-pdata/db# SQLite 数据库mkdir-psrc# 源代码mkdir-pnotebooks# Jupyter 笔记mkdir-plogs# 日志文件步骤 2:创建虚拟环境# 创建虚拟环境python-mvenv venv# 激活环境(Windows)venv\Scripts\activate# 激活环境(Linux/Mac)sourcevenv/bin/activate# 验证激活成功# 应该看到命令行前有 (venv) 前缀(venv)$ python--version步骤 3:安装依赖创建requirements.txt:# 核心依赖 tushare=1.2.89 pandas=2.0.0 numpy=1.24.0 # 数据库 sqlalchemy=2.0.0 mysql-connector-python=8.0.0 # MySQL # 或 aiosqlite=0.19.0 # SQLite(异步) # 数据处理 python-dateutil=2.8.2 pytz=2023.3 # 日志 loguru=0.7.0 # 比 logging 更好用 # 开发工具(可选) jupyter=1.0.0 ipython=8.0.0 black=23.0.0 # 代码格式化 flake8=6.0.0 # 代码检查安装依赖:# 升级 pippython-mpipinstall--upgradepip# 安装依赖pipinstall-rrequirements.txt# 验证安装python-c"import tushare; print(tushare.__version__)"步骤 4:配置环境变量创建.env文件(不要提交到 Git):# Tushare tokenTUSHARE_TOKEN=your_tushare_token_here# 数据库配置DATABASE_URL=sqlite:///data/db/quant.db# 或 MySQL# DATABASE_URL=mysql+mysqlconnector://user:pass@localhost/quant# 日志级别LOG_LEVEL=INFO创建.env.example文件(提交到 Git):# Tushare token(示例)TUSHARE_TOKEN=your_tushare_token_here# 数据库配置DATABASE_URL=sqlite:///data/db/quant.db# 日志级别LOG_LEVEL=INFO步骤 5:Git 配置创建.gitignore:# Python __pycache__/ *.py[cod] *$py.class *.so .Python venv/ env/ ENV/ # 环境变量 .env # 数据文件 data/csv/*.csv data/db/*.db # 日志 logs/*.log # IDE .vscode/ .idea/ *.swp *.swo # Jupyter .ipynb_checkpoints/ # macOS .DS_Store初始化 Git:gitinitgitadd.gitcommit-m"Initial commit: 环境搭建"第一个脚本:获取股票列表基础版本(20 行代码)创建src/get_stock_list.py:"""获取 A 股股票列表"""importtushareastsimportpandasaspd# 1. 设置 tokents.set_token('your_token_here')# 替换为你的 token# 2. 初始化 pro_apipro=ts.pro_api()# 3. 获取股票列表df=pro.stock_basic(exchange='',# 交易所(SSE/ SZSE/ BSE,空表示全部)list_status='L',# 上市状态(L 上市/D 退市/P 暂停)fields='ts_code,symbol,name,area,industry,list_date')# 4. 显示结果print(f"共获取到{len(df)}支股票")print(df.head(10))# 5. 保存到 CSVdf.to_csv('data/csv/stock_list.csv',index=False)print("\n已保存到 data/csv/stock_list.csv")运行脚本:(venv)$ python src/get_stock_list.py# 输出示例:共获取到5000+ 支股票 ts_code symbol name area industry list_date0000001.SZ 000001 平安银行 深圳 银行199104031000002.SZ 000002 万科 A 深圳 全国地产199101292000004.SZ 000004 国华网安 深圳 生物制药19910114已保存到 data/csv/stock_list.csv进阶版本:封装为类创建src/data_client.py:"""Tushare 数据客户端封装"""importtushareastsimportpandasaspdfrompathlibimportPathfromtypingimportOptional,ListimportosclassTushareClient:"""Tushare 数据客户端"""def__init__(self,token:str=None):""" 初始化客户端 Args: token: Tushare token,如不提供则从环境变量读取 """self.token=tokenoros.getenv('TUSHARE_TOKEN')ifnotself.token:raiseValueError("请提供 Tushare token 或设置 TUSHARE_TOKEN 环境变量")ts.set_token(self.token)self.pro=ts.pro_api()# 数据目录self.data_dir=Path('data/csv')self.data_dir.mkdir(parents=True,exist_ok=True)defget_stock_list(self,exchange:str='',list_status:str='L')-pd.DataFrame:""" 获取股票列表 Args: exchange: 交易所代码(SSE/ SZSE/ BSE,空表示全部) list_status: 上市状态(L 上市/D 退市/P 暂停) Returns: DataFrame: 股票列表 """df=self.pro.stock_basic(exchange=exchange,list_status=list_status,fields='ts_code,symbol,name,area,industry,list_date,delist_date')print(f"获取到{len(df)}支股票")returndfdefsave_stock_list(self,filename:str='stock_list.csv',exchange:str='',list_status:str='L')-str:""" 获取并保存股票列