有道云笔记手机端经常无法同步
本来想马上同步一下数据,在PC端获取的。
结果是死活无法同步,这情况已经不是一两次。
而是经常出现!!
难道网易的测试都这么水的吗? 这样的问题都测试不出来?
结果是死活无法同步,这情况已经不是一两次。
而是经常出现!!
难道网易的测试都这么水的吗? 这样的问题都测试不出来?
flask自定义所有错误返回json格式
使用app.register_error_andler绑定时,把debug=True去掉才可以。
csdn网站就不能优化下的么,在远程桌面访问卡得要命
加了没有必要得背景特效,弄得在远程桌面下渲染效果极为卡顿。
现在搜索出来得结果见到csdn得就得躲得远远得。
一来本身质量不行,都是抄来抄去
现在搜索出来得结果见到csdn得就得躲得远远得。
一来本身质量不行,都是抄来抄去
微信gif 大小不能超过50K,不然就当做文件发送,无法显示的
估计是影响图片的动态显示性能。
只能把图片压缩一下,或者去除一些无用帧
只能把图片压缩一下,或者去除一些无用帧
pandas 合并两个表,如何保留第一个表的索引?
df1 数据
df2 数据
如果按照 pd.merge(df1,df2,on='tickerEqu') ,按照列 tickerEqu 进行合并,这样会导致最后合成的新的列的索性重构,变成 0,1,2,3 这种的。
有什么办法可以保留 df1 的索引? 用 join 的话会报错,因为 df2 的索引和 df1 匹配不上。
tickerBond closePriceBond bondPremRatio secShortNameBond tickerEqu \
secID
110066 110066 199.94 -1.2442 盛屯转债 600711
110067 110067 119.53 25.9204 华安转债 600909
113021 113021 105.81 45.0989 中信转债 601998
113024 113024 101.94 36.6668 核建转债 601611
113025 113025 129.16 0.0409 明泰转债 601677
df2 数据
ROE tickerEqu
0 2.642931 600711
1 4.425438 600909
2 6.259092 601998
3 4.432315 601611
4 6.454054 601677
如果按照 pd.merge(df1,df2,on='tickerEqu') ,按照列 tickerEqu 进行合并,这样会导致最后合成的新的列的索性重构,变成 0,1,2,3 这种的。
有什么办法可以保留 df1 的索引? 用 join 的话会报错,因为 df2 的索引和 df1 匹配不上。
先 df1 = df1.reset_index(),合并之后再把 secID 那一列设为 index 。收起阅读 »
Ptrade策略示例
策略示例
集合竞价追涨停策略
tick级别均线策略
双均线策略
macd策略
指数平滑均线函数,以price计算,可以选择收盘、开盘价等价格,N为时间周期,m用于计算平滑系数a=m/(N+1),EXPMA1为前一日值
如果需要开通Ptrade量化接口,只需资金50W存放一周即可。
交易费率也很便宜,股票万一,基金万0.6, 可转债百万分之二。
量化接口不需要收取任何费用。
有意者可以扫码开户:
收起阅读 »
集合竞价追涨停策略
def initialize(context):
# 初始化此策略
# 设置我们要操作的股票池, 这里我们只操作一支股票
g.security = '600570.SS'
set_universe(g.security)
#每天9:23分运行集合竞价处理函数
run_daily(context, aggregate_auction_func, time='9:23')
def aggregate_auction_func(context):
stock = g.security
#最新价
snapshot = get_snapshot(stock)
price = snapshot[stock]['last_px']
#涨停价
up_limit = snapshot[stock]['up_px']
#如果最新价不小于涨停价,买入
if float(price) >= float(up_limit):
order(g.security, 100, limit_price=up_limit)
def handle_data(context, data):
pass
tick级别均线策略
def initialize(context):
# 初始化此策略
# 设置我们要操作的股票池, 这里我们只操作一支股票
g.security = '600570.SS'
set_universe(g.security)
#每3秒运行一次主函数
run_interval(context, func, seconds=3)
#盘前准备历史数据
def before_trading_start(context, data):
history = get_history(10, '1d', 'close', g.security, fq='pre', include=False)
g.close_array = history['close'].values
#当五日均线高于十日均线时买入,当五日均线低于十日均线时卖出
def func(context):
stock = g.security
#获取最新价
snapshot = get_snapshot(stock)
price = snapshot[stock]['last_px']
# 得到五日均线价格
days = 5
ma5 = get_MA_day(stock, days, g.close_array[-4:], price)
# 得到十日均线价格
days = 10
ma10 = get_MA_day(stock, days, g.close_array[-9:], price)
# 得到当前资金余额
cash = context.portfolio.cash
# 如果当前有余额,并且五日均线大于十日均线
if ma5 > ma10:
# 用所有 cash 买入股票
order_value(stock, cash)
# 记录这次买入
log.info("Buying %s" % (stock))
# 如果五日均线小于十日均线,并且目前有头寸
elif ma5 < ma10 and get_position(stock).amount > 0:
# 全部卖出
order_target(stock, 0)
# 记录这次卖出
log.info("Selling %s" % (stock))
#计算实时均线函数
def get_MA_day(stock,days,close_array,current_price):
close_sum = close_array[-(days-1):].sum()
MA = (current_price + close_sum)/days
return MA
def handle_data(context, data):
pass
双均线策略
def initialize(context):
# 初始化此策略
# 设置我们要操作的股票池, 这里我们只操作一支股票
g.security = '600570.SS'
set_universe(g.security)
pass
#当五日均线高于十日均线时买入,当五日均线低于十日均线时卖出
def handle_data(context, data):
security = g.security
#得到十日历史价格
df = get_history(10, '1d', 'close', security, fq=None, include=False)
# 得到五日均线价格
ma5 = round(df['close'][-5:].mean(), 3)
# 得到十日均线价格
ma10 = round(df['close'][-10:].mean(), 3)
# 取得昨天收盘价
price = data[security]['close']
# 得到当前资金余额
cash = context.portfolio.cash
# 如果当前有余额,并且五日均线大于十日均线
if ma5 > ma10:
# 用所有 cash 买入股票
order_value(security, cash)
# 记录这次买入
log.info("Buying %s" % (security))
# 如果五日均线小于十日均线,并且目前有头寸
elif ma5 < ma10 and get_position(security).amount > 0:
# 全部卖出
order_target(security, 0)
# 记录这次卖出
log.info("Selling %s" % (security))
macd策略
指数平滑均线函数,以price计算,可以选择收盘、开盘价等价格,N为时间周期,m用于计算平滑系数a=m/(N+1),EXPMA1为前一日值
def f_expma(N,m,EXPMA1,price):
a = m/(N+1)
EXPMA2 = a * price + (1 - a)*EXPMA1
return EXPMA2 #2为后一天值
#定义macd函数,输入平滑系数参数、前一日值,输出当日值
def macd(N1,N2,N3,m,EXPMA12_1,EXPMA26_1,DEA1,price):
EXPMA12_2 = f_expma(N1,m,EXPMA12_1,price)
EXPMA26_2 = f_expma(N2,m,EXPMA26_1,price)
DIF2 = EXPMA12_2 - EXPMA26_2
a = m/(N3+1)
DEA2 = a * DIF2 + (1 - a)*DEA1
BAR2=2*(DIF2-DEA2)
return EXPMA12_2,EXPMA26_2,DIF2,DEA2,BAR2
def initialize(context):
global init_price
init_price = None
# 获取沪深300股票
g.security = get_index_stocks('000300.SS')
#g.security = ['600570.SS']
# 设置我们要操作的股票池, 这里我们只操作一支股票
set_universe(g.security)
def handle_data(context, data):
# 获取历史数据,这里只获取了2天的数据,如果希望最终MACD指标结果更准确最好是获取
# 从股票上市至今的所有历史数据,即增加获取的天数
close_price = get_history(2, '1d', field='close', security_list=g.security)
#如果是停牌不进行计算
for security in g.security:
if data[security].is_open >0:
global init_price,EXPMA12_1,EXPMA26_1,EXPMA12_2,EXPMA26_2,DIF1,DIF2,DEA1,DEA2
if init_price is None:
init_price = close_price[security].mean()#nan和N-1个数,mean为N-1个数的均值
EXPMA12_1 = init_price
EXPMA26_1 = init_price
DIF1 = init_price
DEA1 = init_price
# m用于计算平滑系数a=m/(N+1)
m = 2.0
#设定指数平滑基期数
N1 = 12
N2 = 26
N3 = 9
EXPMA12_2,EXPMA26_2,DIF2,DEA2,BAR2 = macd(N1,N2,N3,m,EXPMA12_1,EXPMA26_1,DEA1,close_price[security][-1])
# 取得当前价格
current_price = data[security].price
# 取得当前的现金
cash = context.portfolio.cash
# DIF、DEA均为正,DIF向上突破DEA,买入信号参考
if DIF2 > 0 and DEA2 > 0 and DIF1 < DEA1 and DIF2 > DEA2:
# 计算可以买多少只股票
number_of_shares = int(cash/current_price)
# 购买量大于0时,下单
if number_of_shares > 0:
# 以市单价买入股票,日回测时即是开盘价
order(security, +number_of_shares)
# 记录这次买入
log.info("Buying %s" % (security))
# DIF、DEA均为负,DIF向下突破DEA,卖出信号参考
elif DIF2 < 0 and DEA2 < 0 and DIF1 > DEA1 and DIF2 < DEA2 and get_position(security).amount > 0:
# 卖出所有股票,使这只股票的最终持有量为0
order_target(security, 0)
# 记录这次卖出
log.info("Selling %s" % (security))
# 将今日的值赋给全局变量作为下一次前一日的值
DEA1 = DEA2
DIF1 = DIF2
EXPMA12_1 = EXPMA12_2
EXPMA26_1 = EXPMA26_2
如果需要开通Ptrade量化接口,只需资金50W存放一周即可。
交易费率也很便宜,股票万一,基金万0.6, 可转债百万分之二。
量化接口不需要收取任何费用。
有意者可以扫码开户:
收起阅读 »
国金证券万一 免5开户 还有吗?
### 2022-08-29 更新 #############
目前国金可以万一免五开户开户啦
### 2022-05-29 更新 #############
目前国金 佣金宝 开户费率可调至股票万一,资金达标者可以万一,具体标准可以联系文末的微信。
国金之前是腾讯京东入股的券商,主要在网上开户渠道较多,线下营业部貌似比较少,不过大部分业务可以在app就可以完成的了。
一般官网开的费率都是万2.5。(小白用户)
有意开户者可以扫描下面二维码:
备注:开户
目前国金费率是万1,很划算的。
市场上也很难找到万一免五的国金,机会难得,要珍惜,机会就像 过去的船,射出去的箭,不好好把握,就很难等下一次了。
注:
超过3个户的可以只开通深圳的证券户,上海的可以转过来或者后面慢慢销掉不常用的。
收起阅读 »
目前国金可以万一免五开户开户啦
### 2022-05-29 更新 #############
目前国金 佣金宝 开户费率可调至股票万一,资金达标者可以万一,具体标准可以联系文末的微信。
国金之前是腾讯京东入股的券商,主要在网上开户渠道较多,线下营业部貌似比较少,不过大部分业务可以在app就可以完成的了。
一般官网开的费率都是万2.5。(小白用户)
有意开户者可以扫描下面二维码:
备注:开户
目前国金费率是万1,很划算的。
市场上也很难找到万一免五的国金,机会难得,要珍惜,机会就像 过去的船,射出去的箭,不好好把握,就很难等下一次了。
注:
超过3个户的可以只开通深圳的证券户,上海的可以转过来或者后面慢慢销掉不常用的。
收起阅读 »
中国互联套利教程 手摸手操作教程
整体流程如下:先挖坑,后续逐渐填
1. 首先发现溢价的基金
2. 查看公告
3. 准备一个基金申购费率低的券商账号
4. 申购
5. 等待到账,卖出
6. 结束
1. 首先发现溢价的基金
2. 查看公告
3. 准备一个基金申购费率低的券商账号
4. 申购
5. 等待到账,卖出
6. 结束
银河证券的缺点
就是经常晚上提示说券商测试,数据显示不准确,导致不给登录。 怎么一个晚上都在测试呢?
明显是直接关停了,免得别人在操作干坏事。
明显是直接关停了,免得别人在操作干坏事。
火币登录时提示 谷歌验证码错误 无法登录
安全器使用的时谷歌身份验证器,反复登录几次后一直提示谷歌验证码错误,,请重新输入。
难度凉凉了吗??
和客服聊了下,只好解绑。或者用app登录
难度凉凉了吗??
和客服聊了下,只好解绑。或者用app登录
贝壳左晖一生的评价?
本人不算有钱,总共出手过三套房产,
成都市的。
成都去年年底到今年的二手房大涨,
明显是资本在推
贝壳就是其中很大的推手。
我在去年12月给贝壳打电话,
告诉他们我有房子要出手,
当时小区的成交价格大概是230万上下。
我跟中介说明情况以后,他问我着不着急卖,
我问他什么意思。
他告诉我可以挂高价,
建议我挂个255,说是有议价空间。
后面我才明白过来,搁这儿玩滚动出货呢。
诚心卖急用钱的房东,中介会压低他们的价格,
促进成交。
而我这样的,就给人当绿叶,掩护低价房源出手。
实际上就是贝壳和部分房东联手做局,
抬高价格,买家有些是刚需,只能硬着头皮上。
某朋友系列。
这是某位朋友的体会。
然后知乎,雪球上一些大佬为左晖洗白。尤其雪球的方丈,以为自己说的都是正义的。
这典型的屁股决定脑袋,说现在的年轻人戾气很重,哎。
如果这些大佬想想,现在的90后,996工作,然后蜗居在自如的甲醛房子里面,然后月底收到自如的涨价通知。
看着高企的房价,人生似乎也没什么盼头。
然后网上键盘侠一下哎,也不行呀,他们也挺难的。
收起阅读 »
成都市的。
成都去年年底到今年的二手房大涨,
明显是资本在推
贝壳就是其中很大的推手。
我在去年12月给贝壳打电话,
告诉他们我有房子要出手,
当时小区的成交价格大概是230万上下。
我跟中介说明情况以后,他问我着不着急卖,
我问他什么意思。
他告诉我可以挂高价,
建议我挂个255,说是有议价空间。
后面我才明白过来,搁这儿玩滚动出货呢。
诚心卖急用钱的房东,中介会压低他们的价格,
促进成交。
而我这样的,就给人当绿叶,掩护低价房源出手。
实际上就是贝壳和部分房东联手做局,
抬高价格,买家有些是刚需,只能硬着头皮上。
某朋友系列。
这是某位朋友的体会。
然后知乎,雪球上一些大佬为左晖洗白。尤其雪球的方丈,以为自己说的都是正义的。
这典型的屁股决定脑袋,说现在的年轻人戾气很重,哎。
如果这些大佬想想,现在的90后,996工作,然后蜗居在自如的甲醛房子里面,然后月底收到自如的涨价通知。
看着高企的房价,人生似乎也没什么盼头。
然后网上键盘侠一下哎,也不行呀,他们也挺难的。
收起阅读 »
折腾了半天,结果发现windows上无法使用redis 布隆过滤器插件
运行实例代码:
# Using Bloom Filter from redisbloom.client import Client rb = Client() rb.bfCreate('bloom', 0.01, 1000) rb.bfAdd('bloom', 'foo') # returns 1 rb.bfAdd('bloom', 'foo') # returns 0 rb.bfExists('bloom', 'foo') # returns 1 rb.bfExists('bloom', 'noexist') # returns 0
报错:
redis.exceptions.ResponseError: unknown command BF.RESERVE, with args beginning with: bloom, 0.01, 1000
连docker上得镜像也不支持。
更别说windows版本上的redis按照插件了。
只好用linux的docker了。
docker run -p 6379:6379 --name redis-redisbloom redislabs/rebloom:latest
收起阅读 »
# Using Bloom Filter from redisbloom.client import Client rb = Client() rb.bfCreate('bloom', 0.01, 1000) rb.bfAdd('bloom', 'foo') # returns 1 rb.bfAdd('bloom', 'foo') # returns 0 rb.bfExists('bloom', 'foo') # returns 1 rb.bfExists('bloom', 'noexist') # returns 0
报错:
redis.exceptions.ResponseError: unknown command BF.RESERVE, with args beginning with: bloom, 0.01, 1000
连docker上得镜像也不支持。
更别说windows版本上的redis按照插件了。
只好用linux的docker了。
docker run -p 6379:6379 --name redis-redisbloom redislabs/rebloom:latest
收起阅读 »
PI币邀请码:yagamizsu
输入邀请码才能继续注册哦
邀请码:yagamizsu
用邀请码注册后会获得几个PI币。
邀请码:yagamizsu
用邀请码注册后会获得几个PI币。
火币邀请码:9dsub
或者点击链接开户:https://www.huobi.pe/zh-cn/topic/invited/?invite_code=9dsub
最近行情火爆,可以进场捞一笔就走。
注意,所有币都是空气,进去的人都是赌徒。如果你觉得你赌术高明,那么你就可以试试。
火币邀请码:9dsub
火币邀请码有什么用?
对于新用户,没什么用的。而对于邀请别人的人,可以获取200个火苗,说实话,这个玩意我也不知道有啥用。
官方的奖励:
1、好友接受邀请后,每产生一笔真实交易手续费,会产生相应比例的奖励。
2、奖励的形式以USDT或点卡或HT的形式发放到您的交易账户,USDT奖励比例为30%,点卡奖励比例为30%,HT奖励比例为30%。
3、被邀请人使用点卡交易时,邀请人实际获得的奖励将以等额的点数进行计算后发给邀请人;被邀请人使用非点卡交易且手续费为HT时,邀请人实际获得的奖励将以HT进行计算后发给邀请人;被邀请人使用非点卡交易且手续费不为HT时,邀请人实际获得的奖励将以USDT进行折合计算后发给邀请人。
4、好友交易奖励当日统计,次日晚到账;奖励额(USDT或点卡或HT)= 实际产生交易量 * 手续费比例*奖励比例。
5、邀请人享受好友交易返佣有效时长以被邀请人实际注册的时间开始进行计算,到达有效时长(730天)后您将不享受该邀请人交易产生手续费的返佣。
6、平台将以每5分钟取一次市价进行相应币种的USDT实时换算,奖励金额以实际奖励金额为准。
7、每月1号月度榜单只可以看到上月数据。
8、每日结算时间为:0:00;打款时间为次日晚十点前。
9、充提币手续费,杠杆利息不参与手续费奖励。
10、如被邀请人违反邀请奖励的相应风控规则,其手续费将不能发放给邀请人,同时,被邀请人的邀请状态变成【已无效】并且产生的奖励记录状态变成【奖励无效】。
11、单一被邀请人奖励上限为5000USDT(点卡价值与USDT锚定1:1,HT按交易时市价折合USDT),无被邀请人数量上限。
12、如有深度渠道合作意向,请联系app@huobi.com,邮件需包含火币UID、展业国家和地区、自有资源背景、简要展业计划、自我介绍、个人微信或手机号等信息。
活动如有调整,以火币全球站平台更新为准,最终解释权归火币全球站所有。
收起阅读 »
最近行情火爆,可以进场捞一笔就走。
注意,所有币都是空气,进去的人都是赌徒。如果你觉得你赌术高明,那么你就可以试试。
火币邀请码:9dsub
火币邀请码有什么用?
对于新用户,没什么用的。而对于邀请别人的人,可以获取200个火苗,说实话,这个玩意我也不知道有啥用。
官方的奖励:
1、好友接受邀请后,每产生一笔真实交易手续费,会产生相应比例的奖励。
2、奖励的形式以USDT或点卡或HT的形式发放到您的交易账户,USDT奖励比例为30%,点卡奖励比例为30%,HT奖励比例为30%。
3、被邀请人使用点卡交易时,邀请人实际获得的奖励将以等额的点数进行计算后发给邀请人;被邀请人使用非点卡交易且手续费为HT时,邀请人实际获得的奖励将以HT进行计算后发给邀请人;被邀请人使用非点卡交易且手续费不为HT时,邀请人实际获得的奖励将以USDT进行折合计算后发给邀请人。
4、好友交易奖励当日统计,次日晚到账;奖励额(USDT或点卡或HT)= 实际产生交易量 * 手续费比例*奖励比例。
5、邀请人享受好友交易返佣有效时长以被邀请人实际注册的时间开始进行计算,到达有效时长(730天)后您将不享受该邀请人交易产生手续费的返佣。
6、平台将以每5分钟取一次市价进行相应币种的USDT实时换算,奖励金额以实际奖励金额为准。
7、每月1号月度榜单只可以看到上月数据。
8、每日结算时间为:0:00;打款时间为次日晚十点前。
9、充提币手续费,杠杆利息不参与手续费奖励。
10、如被邀请人违反邀请奖励的相应风控规则,其手续费将不能发放给邀请人,同时,被邀请人的邀请状态变成【已无效】并且产生的奖励记录状态变成【奖励无效】。
11、单一被邀请人奖励上限为5000USDT(点卡价值与USDT锚定1:1,HT按交易时市价折合USDT),无被邀请人数量上限。
12、如有深度渠道合作意向,请联系app@huobi.com,邮件需包含火币UID、展业国家和地区、自有资源背景、简要展业计划、自我介绍、个人微信或手机号等信息。
活动如有调整,以火币全球站平台更新为准,最终解释权归火币全球站所有。
收起阅读 »
pyautogui无法再远程桌面最小化或者断线后进行截图
搜索了一圈,似乎无解。
知道的朋友可以私信下我。
国外的论坛也找不到答案,只能一直开着屏幕了。。。。
知道的朋友可以私信下我。
国外的论坛也找不到答案,只能一直开着屏幕了。。。。
pyppeteer 在AppData下的dev_profile 生成大量文件
具体路径在:
C:\Users\xda\AppData\Local\pyppeteer\pyppeteer\.dev_profile
运行次数多了,这个目录下积累了几十个G的文件。
因为每次启动pyppeteer后,如果不指定userData目录,会在dev_profile生成一个新的userData目录,每次大概30MB左右的打小,所以启动的次数,越多,这个文件夹的体积就越大。
其实可以直接删除,然后启动pyppeteer是加上一个参数:userDataDir
这样每次pyppeteer都会用同一个配置文件,并且还可以把cookies,session文件存在同一个地方,如果登录过的网站,下次可以直接登录,不需要再次输入账号密码。
收起阅读 »
C:\Users\xda\AppData\Local\pyppeteer\pyppeteer\.dev_profile
运行次数多了,这个目录下积累了几十个G的文件。
因为每次启动pyppeteer后,如果不指定userData目录,会在dev_profile生成一个新的userData目录,每次大概30MB左右的打小,所以启动的次数,越多,这个文件夹的体积就越大。
其实可以直接删除,然后启动pyppeteer是加上一个参数:userDataDir
browser = await pyppeteer.launch(userDataDir='D:\Temp'
{'headless': False,
'userDataDir': UserDataDir,
'defaultViewport': {'width': 1800, 'height': 1000},
# 'enable-automation':False,
# 'ignoreDefaultArgs':['--enable-automation'],
'ignoreDefaultArgs':True,
}
这样每次pyppeteer都会用同一个配置文件,并且还可以把cookies,session文件存在同一个地方,如果登录过的网站,下次可以直接登录,不需要再次输入账号密码。
收起阅读 »
pip install peewee : AttributeError: 'str' object has no attribute 'decode'
ERROR: Command errored out with exit status 1:
command: 'C:\anaconda\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\xda\\AppData\
\Local\\Temp\\pip-install-ftotbzih\\peewee\\setup.py'"'"'; __file__='"'"'C:\\Users\\xda\\AppData\\Local\\Temp\\pip-insta
ll-ftotbzih\\peewee\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"
'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\xda\AppData\Lo
cal\Temp\pip-pip-egg-info-8ou7yi3i'
cwd: C:\Users\xda\AppData\Local\Temp\pip-install-ftotbzih\peewee\
Complete output (15 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\xda\AppData\Local\Temp\pip-install-ftotbzih\peewee\setup.py", line 99, in <module>
elif not _have_sqlite_extension_support():
File "C:\Users\xda\AppData\Local\Temp\pip-install-ftotbzih\peewee\setup.py", line 76, in _have_sqlite_extension_su
pport
compiler.compile([src_file], output_dir=tmp_dir),
File "C:\anaconda\lib\distutils\_msvccompiler.py", line 327, in compile
self.initialize()
File "C:\anaconda\lib\distutils\_msvccompiler.py", line 224, in initialize
vc_env = _get_vc_env(plat_spec)
File "C:\anaconda\lib\site-packages\setuptools\msvc.py", line 314, in msvc14_get_vc_env
return _msvc14_get_vc_env(plat_spec)
File "C:\anaconda\lib\site-packages\setuptools\msvc.py", line 273, in _msvc14_get_vc_env
out = subprocess.check_output(
AttributeError: 'str' object has no attribute 'decode'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
同样的编码问题,同样的解决方法:
找到文件msvc.py
大概在276行:
out = subprocess.check_output(把decode的部分注释掉即可
'cmd /u /c "{}" {} && set'.format(vcvarsall, plat_spec),
stderr=subprocess.STDOUT,
)
# ).decode('utf-16le', errors='replace')
收起阅读 »