如何激活alpha_tools工具包
0 针对常见操作系统
考虑有整个配置和激活过程有一定的门槛,现在针对常见的操作系统写了一款无痛激活的GUI,
- Windows:
无痛激活alpha_tools工具包.exe - MacOS:
无痛激活alpha_tools工具包.zip(需要自行解压缩成app文件) - Ubuntu:
无痛激活alpha_tools工具包
使用方式在后文逐步展开,关于GUI的制作有兴趣请自行研究
1 前置要求
1.1 python安装
1.1.1 GUI操作
按红框和橙框的顺序依次点击GUI第一页中的按钮:
anaconda并配置环境
红框默认用清华镜像来下载anaconda软件,可选使用橙框来创建或删除不同的conda的env环境
1.1.2 非GUI操作
请参考jupyter环境搭建、python环境管理部分,自行下载安装需要的python版本并配置依赖环境,如果在包管理上使用了虚拟环境(conda env或virtualenv等),则激活流程和使用流程都需要在同一个虚拟环境中进行
1.2 其他软件安装
1.2.1 GUI操作
可选的安装包下载地址已经集成到红框的按钮里面了:
jdk已经使用国内镜像的地址了,依次点击页面选择即可打开安装下载的路径,下载后请自行安装,安装后点击橙框的按钮,可以选择把程序添加到系统路径,点击操作过程中有一系列提示
1.2.2 非GUI操作
参考基础软件部分,一般来说需要额外安装:graphviz、java等,用来支持绘图和pmml模型生成等,在零基础实现高质量数据挖掘(模型分析篇)- 5.2 数据文件输出和零基础实现高质量数据挖掘(策略分析篇)- 4.2 数据文件输出均有涉及,记得检查环境变量是否正常
1.3 字体配置
win和mac可以跳过这一步,linux必须安装字体避免中文显示异常,安装参考中文字体安装部分
2 激活流程
整体激活流程采用动态激活方式,类似两步验证,需要通过和https://api.metanoia8295.com交互来完成,网络状况不佳的国内用户可以使用https://api-cn.metanoia8295.com来替换,直接点击打开也能看到激活接口提供的api文档
2.1 获取需要的key
购买后可以从客户处获取两个key,一个用来下载,一个用来激活,此处假设获取到的这两个key分别为:b8eeb1e9-a6ee-9f99-6c8b-bce8423b5e54和992fdaa2-89fc-9cf4-1ee5-32b372f44fc6,实践中对应替换即可
2.2 下载工具包
2.2.1 GUI操作
按红框指示填入download的key,然后点击红框按钮:
点击下载和本地python环境版本一致的工具包,注意密码也在页面最后一列,请记得保存
2.2.2 非GUI操作
使用download的key获取下载链接,把key做为url在浏览器中打开,比如按上面那个key,则打开链接为https://api.metanoia8295.com/b8eeb1e9-a6ee-9f99-6c8b-bce8423b5e54,然后可以用wget或requests等工具下载工具包
2.3 升级依赖环境
2.3.1 在线更新依赖
推荐使用,适用于联网的机器,高效便捷
2.3.1.1 GUI操作
2.3.1.2 非GUI操作
用密码解压缩后把文件移动到某个固定路径,执行以下代码来自动安装或更新所需依赖:
pip install -r /解压缩路径/requirements.txt有其他依赖安装需求,也请在此阶段完成,比如:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
pip install --upgrade jupyterlab ipywidgets skorch2.3.2 离线更新依赖
断网离线更新也是支持的,前提是需要有一台能联网的机器做支持
2.3.2.1 GUI操作
2.3.2.2 非GUI操作
需要ipython或jupyter支持,首先在能联网的机器上下载好需要的依赖包:
python /解压缩路径/auto_download.py然后压缩后去离线的机器上执行离线安装依赖包:
python /解压缩路径/auto_install.py2.4 激活工具包
2.4.1 在线激活
2.4.1.1 GUI操作
再把用来激活的key填入橙框所示位置,按橙框按钮进行激活,激活后有需求可点击将文件夹添加到PYTHONPATH中节约sys.path.append操作
2.4.1.2 非GUI操作
把下面代码中的ACTIVATION_UUID替换为得到的key,按样例就是992fdaa2-89fc-9cf4-1ee5-32b372f44fc6,然后使用ipython、jupyter或terminal执行下面的代码:
import os
import sys
import json
import requests
sys.path.append("这里填写下载后压缩包解压缩后的路径绝对路径")
# 比如 sys.path.append("D:\\Code\\config\")
ACTIVATION_UUID = "这里改成给你的激活key的uuid"
def main(act_uuid):
import auth_public
data = dict(auth_public.PUBLIC_DICT)
data["key_type"] = "public_keys"
headers = {
"Content-Type": "application/json", "accept": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
}
response = requests.post(
f"https://api.metanoia8295.com/{act_uuid}",
headers=headers, data=json.dumps(data), timeout=60
)
print("response.status_code")
print(response.status_code)
print("response.content")
print(response.content)
private_keys = json.loads(response.content)
response.close()
auth_public.PRIVATE_DICT = private_keys
auth_public.activate_flow()
# 终端执行可能需要添加 if __name__ == '__main__':
main(ACTIVATION_UUID)完成激活以后日常的使用方式为:
import sys
sys.path.append("这里填写下载后压缩包解压缩后的路径绝对路径")
import alpha_tools as at单用户长期使用可把sys.path.append后的路径设为PYTHONPATH
windows可在系统环境变量中添加PYTHONPATH变量名并把路径做为变量值写入linux方法很多,比如nano .bashrc直接最后一行插入export PYTHONPATH = "/somepath:$PYTHONPATH"然后再source .bashrc一下
2.4.2 离线激活
离线激活也一样需要有一台能联网的机器做支持
2.4.2.1 GUI操作
2.4.2.2 非GUI操作
在断网的机器上确定好路径,然后打开ipython输入:
import os
import sys
sys.path.append("这里填写下载后压缩包解压缩后的路径绝对路径")
import auth_public
data = dict(auth_public.PUBLIC_DICT)这一步中的data就是public_keys,类似公钥的概念,然后把data变量导出或者手写到能联网的机器上,再执行中间这一段代码:
import json
import requests
# 此处的data为断网机器上的公钥信息
data["key_type"] = "public_keys"
headers = {
"Content-Type": "application/json", "accept": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"
}
response = requests.post(
f"https://api.metanoia8295.com/{act_uuid}",
headers=headers, data=json.dumps(data), timeout=60
)
print("response.status_code")
print(response.status_code)
print("response.content")
print(response.content)
private_keys = json.loads(response.content)
response.close()
print(private_keys)private_keys的格式和公钥是一样的,还是会显示类似下图:
private_keys样例
注意离线机器的执行窗口千万不要关,因为有一定的随机性,激活前后需要内存一致性,上述代码通过向服务器提交公钥来获取私钥,就是上面代码中的private_keys,再通过导出或者手写把私钥写回离线的机器上,继续执行代码如下:
# 此处的private_keys为联网机器上的私钥信息
auth_public.PRIVATE_DICT = private_keys
auth_public.activate_flow()正常来说会显示和在线激活一样的成功信息,注意整个过程请尽量在1小时内完成避免潜在的异常情况
3 长期支持
- 时间一致性:请确认待激活机器上的时间为标准北京时间,激活时需要验证时间一致性,如使用
ubuntu时则注意时间服务器域名ntp.ubuntu.com为直连,避免时间或时区异常 - python版本一致性:确认请确保下载的软件包和本地安装的
python版本一致,不一致会导致import失败 - 本地环境一致性:完成激活后,请不要对软件包的依赖环境再进行
pip install --upgrade等操作,会打破环境一致性,导致需要重新下载并激活 - 避免在虚拟机中使用:请尽量避免在虚拟机中激活和使用工具包,虚拟机会带有内存常驻检测机制,如果关机或重启需要重新下载并激活
- 避免多用户使用:请避免同时多进程同时使用同一个软件包,单路径激活默认为单人使用配置,多人同时使用时会启用进程锁最终只有一个进程能成功执行,有单机多用户同时使用的需求,请购买多份并在不同路径分别激活
- 到期或超限需重新激活:在使用过程中,不同套餐存在不同的有效期和使用次数等限制,到期需要重新下载并激活
- 请勿破解:工具包价格已经非常低了,请不要尝试破解、反编译、反向工程等操作,底层代码做过多次混淆和加壳等操作,尝试破解并不会有超额收益,由此导致的激活失效和重新激活需要额外付费
根据购买套餐的不同,每个用户的情况会有所差异,如信息遗失或发生意外情况,可联系客服获取支持




