<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>SeanQian Blog</title>
    <description>这里是 大钱 的个人博客，与你一起发现更大的世界 | 与你一起分享探索世界的心得</description>
    <link>https://seanqian.com/</link>
    <atom:link href="https://seanqian.com/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Sat, 11 Apr 2026 01:11:52 +0000</pubDate>
    <lastBuildDate>Sat, 11 Apr 2026 01:11:52 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
    
      <item>
        <title>order7-基于Hyperliquid平台的自动下单机器人-项目业务功能与特点分析（免费开源）</title>
        <description>&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2025/03/31/PMChiY6ArXwzf78.jpg&quot; alt=&quot;login.jpg&quot; /&gt;
最近写了一个低频周期为主的自动交易机器人，
前面从tradingview接收交易信号，
后端渠道接了&lt;a href=&quot;https://app.hyperliquid.xyz/join/SEAN088&quot;&gt;hyperliquid&lt;/a&gt;平台。
由于像OKX之类的交易所可以很方便的直接接第三方的交易机器人，当时为了练手，就选择了hyperliquid。
接入的API选择了hyperliquid的原生的python-sdk。
&lt;img src=&quot;https://s2.loli.net/2025/03/31/8mlQscvqazORukh.jpg&quot; alt=&quot;running.jpg&quot; /&gt;&lt;/p&gt;

&lt;h5 id=&quot;项目概述&quot;&gt;项目概述&lt;/h5&gt;
&lt;p&gt;Order7 是一个基于 TradingView 交易信号的自动下单交易机器人应用（&lt;a href=&quot;https://github.com/seanqian01/order7.git&quot; title=&quot;order7自动交易机器人&quot;&gt;Github地址已开源&lt;/a&gt;），主要用于加密货币合约交易。该项目使用 Python Django 框架开发，能够接收 TradingView 发送的交易信号，并在 Hyperliquid 交易平台上自动执行相应的交易操作。&lt;/p&gt;

&lt;h5 id=&quot;核心业务功能&quot;&gt;核心业务功能&lt;/h5&gt;
&lt;ol&gt;
  &lt;li&gt;交易信号接收与处理
&lt;img src=&quot;https://s2.loli.net/2025/03/31/ObqH2TEi7Vnl3DF.jpg&quot; alt=&quot;signal.jpg&quot; /&gt;
信号来源：通过 TradingView 的 Webhook 功能接收交易信号
信号验证：使用密钥验证信号的有效性，确保信号来源可信
信号过滤：实现基础的信号过滤策略，避免重复处理相同方向的信号
异步处理：使用异步队列处理有效信号，提高系统响应能力&lt;/li&gt;
  &lt;li&gt;交易执行
自动下单：根据交易信号自动在 Hyperliquid 平台下单
订单监控：实时监控订单状态，包括挂单、部分成交和完全成交状态
自动止损：开仓订单成交后，系统会自动根据配置的止损参数设置止损单（挂单开仓成交之后，系统自动下止损单）
超时撤单：对于超时未成交的订单，系统会自动撤单(默认挂单超时时间可以在Setting配置文件里自定义)
平仓管理：平仓订单会根据现有持仓数量进行平仓，不支持加仓操作（当前有持仓的情况下，优先平仓，暂不支持加仓的逻辑和策略）&lt;/li&gt;
  &lt;li&gt;风险控制
止损机制：开仓成功后自动设置止损单，保护资金安全
持仓限制：在已有持仓的情况下不允许加仓，避免过度风险
订单超时处理：对超时未成交的订单进行自动撤单处理
价格计算优化：止损价格计算基于实际成交价格而非委托价格，确保止损距离准确&lt;/li&gt;
  &lt;li&gt;订单状态查询优化
&lt;img src=&quot;https://s2.loli.net/2025/03/31/9pYedbS1uTcJAMO.jpg&quot; alt=&quot;orderrecord.jpg&quot; /&gt;
订单状态查询：使用 Hyperliquid API 的方法直接查询订单状态
订单详情获取：优化了订单详情获取逻辑，能够准确获取订单的成交价格、成交数量和手续费等信息
状态解析：针对 Hyperliquid API 返回的嵌套数据结构，实现了专门的解析逻辑&lt;/li&gt;
&lt;/ol&gt;

&lt;h5 id=&quot;技术特点&quot;&gt;技术特点&lt;/h5&gt;
&lt;p&gt;异步处理架构：使用异步队列处理交易信号和数据库操作，提高系统响应能力
WebSocket 连接管理：实现了 WebSocket 连接管理器，用于实时获取市场数据和订单更新
重试机制：对网络请求实现了超时处理和重试机制，提高系统稳定性
动态监控间隔：订单监控使用动态调整的检查间隔，接近超时时会更频繁地检查订单状态
数据缓存：实现了订单状态的缓存机制，减少重复查询，提高性能&lt;/p&gt;

&lt;h5 id=&quot;适用场景&quot;&gt;适用场景&lt;/h5&gt;
&lt;p&gt;适合中长周期交易策略，推荐用于 5 分钟以上时间级别的交易
支持多种交易周期，包括 1 分钟、5 分钟、15 分钟、30 分钟、1 小时、4 小时、1 天等
目前仅支持 Hyperliquid 平台的合约交易，不支持现货交易（这一点是hyperliquid平台特有的特点，挺有意思的）
不适合高频交易场景（后面迭代的时候我看看是否用GO语言重构它）&lt;/p&gt;

&lt;h5 id=&quot;项目限制&quot;&gt;项目限制&lt;/h5&gt;
&lt;p&gt;目前仅支持 &lt;a href=&quot;https://app.hyperliquid.xyz/join/SEAN088&quot;&gt;Hyperliquid&lt;/a&gt; 交易平台
仅支持合约交易，不支持现货交易
不支持加仓策略，仅支持全仓位开平操作
暂无止盈功能，仅实现了止损功能
不适合高频交易场景&lt;/p&gt;

&lt;h5 id=&quot;总结&quot;&gt;总结&lt;/h5&gt;
&lt;p&gt;Order7 是一个专注于加密货币合约交易的自动化交易系统，通过接收 TradingView 信号实现自动下单、监控和风险管理。该系统特别注重订单状态的准确获取和止损单的管理，适合中长期交易策略。项目使用 Python Django 框架开发，采用异步处理架构，具有良好的可扩展性和稳定性。&lt;/p&gt;
</description>
        <pubDate>Mon, 31 Mar 2025 00:00:00 +0000</pubDate>
        <link>https://seanqian.com/2025/03/31/order7_system/</link>
        <guid isPermaLink="true">https://seanqian.com/2025/03/31/order7_system/</guid>
        
        <category>数字货币量化</category>
        
        <category>TradingView 交易信号</category>
        
        <category>hyperliquid 交易平台</category>
        
        <category>量化交易</category>
        
        <category>hyperliquid-API</category>
        
        <category>量化交易系统</category>
        
        <category>免费,开源-自动交易机器人</category>
        
        
      </item>
    
      <item>
        <title>国内商品期货交易接口接入基本流程</title>
        <description>&lt;p&gt;这两天商品期货的接口接通了，还差个测试报告没搞，趁这个时候先完善下自己的业务系统框架，太多东西要做了。 国内商品期货想要系统自动化量化接口交易接口，基本上有这么几个步骤：&lt;/p&gt;
&lt;h5 id=&quot;tradingview找一个靠谱的券商&quot;&gt;Tradingview找一个靠谱的券商&lt;/h5&gt;
&lt;p&gt;目前市面上的大部分期货券商都可以随便接入，但是其中的券商两极分化特别严重。一定要找到合适的券商接入进来，接入成本才不会被忽悠。
之前找了一些没有第三方平台背书或者推荐的券商，自己联系券商要接入接口，结果张嘴狮子大开口。要么交易手续费高，要么就要收取什么接口费用。
后来通过量化平台找了推荐券商，感觉还不错。&lt;/p&gt;

&lt;h5 id=&quot;一个即插即用的api接口包&quot;&gt;一个即插即用的API接口包&lt;/h5&gt;
&lt;p&gt;在国内期货的柜台交易中，大部分券商的API接口包都是即插即用的，但是有些券商的API接口包需要自己写代码，这就比较麻烦了。所以，找一个即插即用的API接口包，可以大大减少开发成本和时间。
由于一直在用&lt;a href=&quot;https://github.com/openctp&quot; title=&quot;openctp&quot;&gt;openctp&lt;/a&gt;这一家的python接口，看到他们家推荐的券商基本接入流程还标准。这时候还是蛮推荐大家从 这个openctp走的。
&lt;a href=&quot;http://www.openctp.cn/&quot; title=&quot;模拟盘和模拟账户&quot;&gt;模拟盘和模拟账户&lt;/a&gt;的接入，用这一家的接口也就行了，一举两得。
其实这个openctp最好用的是可以把它兼容的几家模拟环境的接口状态直接显示出来，众所周知的SIMNOW的接口经常下班打卡，有时候这个网站一打开我就知道当前测试要走哪个环境比较好了。整体非常好用的一个团队做的产品，赞一个！&lt;/p&gt;

&lt;h5 id=&quot;期货券商程序化接入流程化申报材料&quot;&gt;期货券商程序化接入流程化申报材料&lt;/h5&gt;
&lt;p&gt;券商搞定之后，后面就是填一堆表格，开户表什么的一堆要填要签字。 具体见下图
&lt;img src=&quot;https://s2.loli.net/2024/10/23/GfNWTnEOloZKsQ9.png&quot; alt=&quot;qianzi.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;签字好后面就是接口测试：
&lt;img src=&quot;https://s2.loli.net/2024/10/23/TQNuC64ado8UVly.png&quot; alt=&quot;test.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;接口里面openctp-ctp的python包非常好用，我的服务器用的是ubuntu，本地用windows和mac调试都没有问题，这家真的良心接口，基本没啥BUG，而且还定期更新，还是好好赞一下。&lt;/p&gt;

&lt;p&gt;接口中间最重要的是：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;行情查询接口&lt;/li&gt;
  &lt;li&gt;条件单下单交易接口&lt;/li&gt;
  &lt;li&gt;撤销交易接口&lt;/li&gt;
  &lt;li&gt;结算确认接口&lt;/li&gt;
  &lt;li&gt;账户查询接口&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这几个接口，基本上是核心接口，其他的接口都是辅助的。具体接口调试的逻辑有时间另行分享，这里面东西太多。
这些接口我基本上都通了以后，券商那边还要做一些压力测试，用自己的接口多放一些交易订单笔数进去。 我估计由于之前接入接口都是搞高频量化为主的，这些券商测试接口的时候也是要做一些多笔数的压力测试的。&lt;/p&gt;

&lt;p&gt;接入的测试做完以后，最后的部分来了，券商丢过来一个测试报告，要我提供截图 需要围绕下面的功能提供截图：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;指令测试—提供成交、委托的截图&lt;/li&gt;
  &lt;li&gt;查询功能—提供查询界面截图&lt;/li&gt;
  &lt;li&gt;验资验券—提供测试截图&lt;/li&gt;
  &lt;li&gt;日志保存—提供日志记录截图及本地保存截图&lt;/li&gt;
  &lt;li&gt;异常交易识别&lt;/li&gt;
  &lt;li&gt;错单处理机制&lt;/li&gt;
  &lt;li&gt;指令查询频率&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;基本上这些截图搞完，我估计我的业务系统也弄完善了。 到目前还在加班加点搞截图。 不太愿意走捷径去拿个VNPY的系统去跑截图，糊弄券商到最后还是糊弄自己。&lt;/p&gt;

&lt;p&gt;算了还是按要求去搞吧。 搞完截图，基本上券商走完流程就可以开通商品期货的API接口了。&lt;/p&gt;

&lt;p&gt;最近一段时间A股惨不忍睹。所以接口接入的门槛还是蛮好谈的。 如果牛市来临，就说不好了。&lt;/p&gt;

&lt;p&gt;后面会继续更新关于自动化交易的细节。&lt;/p&gt;
</description>
        <pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate>
        <link>https://seanqian.com/2024/10/23/testapi_quant/</link>
        <guid isPermaLink="true">https://seanqian.com/2024/10/23/testapi_quant/</guid>
        
        <category>商品期货</category>
        
        <category>商品期货API</category>
        
        <category>期货接口接入</category>
        
        <category>量化交易</category>
        
        <category>量化交易API</category>
        
        <category>量化交易接入</category>
        
        <category>量化交易系统</category>
        
        
      </item>
    
      <item>
        <title>怎样将TradingView的提醒信号接入到自己的系统内</title>
        <description>&lt;h5 id=&quot;tradingview网站上面报警提醒的设置&quot;&gt;Tradingview网站上面报警提醒的设置&lt;/h5&gt;
&lt;p&gt;先要在Tradingview里设置对应的webhook信号提醒的方式.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/10/11/tGElTbHNiJvZS7e.png&quot; alt=&quot;webhook2_20240402173201542387.png&quot; /&gt;
	1.确定标的,具体是做哪个期货合约
	2.确定K线周期,具体报警也要跟着周期来走.每个不同的周期,报警的警示信息webhook就需要另外设置
	3.确定产生报警的信号策略(指标),在tradingview里面一大把指标,在指标的基础上产生对应的信号.
	4.确定webhook送出的信号内容.(通常是用json的方式将信息送到对应的接口处)&lt;/p&gt;

&lt;p&gt;示例信号的json代码如下:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;{
    &quot;secretkey&quot;: &quot;itsthesecretheyhey&quot;,
    &quot;symbol&quot;:&quot;&apos;&apos;&quot;,
    &quot;scode&quot;:&quot;RBK2405&quot;,
    &quot;contractType&quot;: &quot;1&quot;,
    &quot;price&quot;: &quot;&apos;&apos;&quot;,
    &quot;action&quot;: &quot;open long&quot;,
    &quot;alert_title&quot;: &quot;RBK2405_螺纹钢合约信号_开仓做多&quot;,
    &quot;time_circle&quot;:&quot;1m&quot;
}
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;通常信号里面的数据跟自己在django框架的api接收的接口要有对应关系.这些字段需要提前在django框架里新增
然后根据接口的定义,比如contracttype=1是啥意思,自己在数据库里面定义好,接口就可以直接调用了.&lt;/p&gt;

    &lt;p&gt;按照我现在设置webhook的报警的经验,通常期货的报警通知信号,一个周期一个标的要搞四个报警信号:
分别是开多仓,平多仓,开空仓,平空仓.
以前放的是简单的sell和buy发现不够用,建议分成四个,这样在处理信号的类型的时候可以对号入座,对于后期的仓位管理也是有好处的.&lt;/p&gt;

    &lt;p&gt;通过这个webhook放api接口进入到django框架内,django后台的信号的呈现是下图这样的:&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/10/11/OqcxXRgmEYGu9i8.png&quot; alt=&quot;_20241011162004.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;先把报警信号收进来,接口的写法这里就不赘述了,
值得一提的是接口的代码里,本来想加入队列,让接口可以在队列里不断的接收tradinview的报警.
后面实践下来发现只有高频可能才需要有队列,正常的1分钟以上的K线周期,信号接收基本上不用队列就可以正常正确的接收下来了.&lt;/p&gt;

&lt;p&gt;后面得空了讲一下信号过滤的简单规则.&lt;/p&gt;
</description>
        <pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate>
        <link>https://seanqian.com/2024/10/11/thetradingviewalert/</link>
        <guid isPermaLink="true">https://seanqian.com/2024/10/11/thetradingviewalert/</guid>
        
        <category>tradingview</category>
        
        <category>tradingview alert</category>
        
        <category>tradingview报警</category>
        
        
      </item>
    
      <item>
        <title>pip install mysqlclient安装mysqlclient的时候报错</title>
        <description>&lt;h5 id=&quot;现象1&quot;&gt;现象1&lt;/h5&gt;
&lt;p&gt;在安装mysqlclient的时候报错，报错信息如下：&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;ERROR: Could not find a version that satisfies the requirement mysqlclient (from versions: none)
ERROR: No matching distribution found for mysqlclient
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;解决方法&quot;&gt;解决方法&lt;/h5&gt;
&lt;ol&gt;
  &lt;li&gt;下载mysqlclient的源码包，下载地址为：https://github.com/PyMySQL/mysqlclient-python/releases&lt;/li&gt;
  &lt;li&gt;解压下载的源码包，进入解压后的目录&lt;/li&gt;
  &lt;li&gt;执行以下命令：
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;python setup.py install
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;安装完成后，再次执行pip install mysqlclient，应该就不会报错了。&lt;/li&gt;
&lt;/ol&gt;

&lt;h5 id=&quot;如果刚才没什么用&quot;&gt;如果刚才没什么用&lt;/h5&gt;

&lt;p&gt;如果报错信息是这样的：&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

    × Getting requirements to build wheel did not run successfully.
    │ exit code: 1
    ╰─&amp;gt; See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;为了解决安装mysqlclient库的依赖库,要根据操作系统来安装:&lt;/p&gt;

&lt;h5 id=&quot;ubuntu安装mysqlclient环境&quot;&gt;ubuntu安装mysqlclient环境&lt;/h5&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;安装好环境再pip install mysqlclient即可&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;centos安装mysqlclient环境&quot;&gt;centos安装mysqlclient环境&lt;/h5&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;mysqlclient安装失败要先安装mysql-devel

yum install mysql-devel  python3-devel  gcc
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;树莓派安装mysqlclient环境&quot;&gt;树莓派安装mysqlclient环境&lt;/h5&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;在raspi4b上面如果需要安装mysqlclient的包

必须在之前安装下面的包

sudo apt-get install default-lib mysqlclient-dev  

apt-get install build-essential
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h5 id=&quot;mac安装mysqlclient环境&quot;&gt;mac安装mysqlclient环境&lt;/h5&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;用brew install mysql-client，然后brew info mysql-client，有提示

根据提示将如下示例运行：

export PKG_CONFIG_PATH=&quot;/usr/local/opt/mysql-client/lib/pkgconfig”

m3芯片的mac有时安装好了pkg-config提示还是找不到，就需要再运行一下下面的命令：

export PKG_CONFIG_PATH=$(find /opt/homebrew/Cellar -name &apos;pkgconfig&apos; -type d | grep lib/pkgconfig | tr &apos;\n&apos; &apos;:&apos; | sed s/.$//)
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;总之先安装各个不同操作系统的依赖就好&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Wed, 09 Oct 2024 00:00:00 +0000</pubDate>
        <link>https://seanqian.com/2024/10/09/mysqlciient/</link>
        <guid isPermaLink="true">https://seanqian.com/2024/10/09/mysqlciient/</guid>
        
        <category>pip</category>
        
        <category>pip install</category>
        
        <category>mysqlclient</category>
        
        <category>pip install mysqlclient报错</category>
        
        
      </item>
    
  </channel>
</rss>
