目录

如何激活alpha_tools工具包

考虑有整个配置和激活过程有一定的门槛,现在针对常见的操作系统写了一款无痛激活的GUI

按操作系统点击下载

使用方式在后文逐步展开,关于GUI的制作有兴趣请自行研究

扫描互动
扫描互动

按红框和橙框的顺序依次点击GUI第一页中的按钮:

下载anaconda并配置环境
下载anaconda并配置环境

红框默认用清华镜像来下载anaconda软件,可选使用橙框来创建或删除不同的condaenv环境

Anaconda
获取anaconda下载链接

请参考jupyter环境搭建python环境管理部分,自行下载安装需要的python版本并配置依赖环境,如果在包管理上使用了虚拟环境(conda envvirtualenv等),则激活流程和使用流程都需要在同一个虚拟环境中进行

可选的安装包下载地址已经集成到红框的按钮里面了:

其他软件安装
其他软件安装

jdk已经使用国内镜像的地址了,依次点击页面选择即可打开安装下载的路径,下载后请自行安装,安装后点击橙框的按钮,可以选择把程序添加到系统路径,点击操作过程中有一系列提示

参考基础软件部分,一般来说需要额外安装:graphvizjava等,用来支持绘图和pmml模型生成等,在零基础实现高质量数据挖掘(模型分析篇)- 5.2 数据文件输出零基础实现高质量数据挖掘(策略分析篇)- 4.2 数据文件输出均有涉及,记得检查环境变量是否正常

winmac可以跳过这一步,linux必须安装字体避免中文显示异常,安装参考中文字体安装部分

整体激活流程采用动态激活方式,类似两步验证,需要通过和https://api.metanoia8295.com交互来完成,网络状况不佳的国内用户可以使用https://api-cn.metanoia8295.com来替换,直接点击打开也能看到激活接口提供的api文档

购买后可以从客户处获取两个key,一个用来下载,一个用来激活,此处假设获取到的这两个key分别为:b8eeb1e9-a6ee-9f99-6c8b-bce8423b5e54992fdaa2-89fc-9cf4-1ee5-32b372f44fc6,实践中对应替换即可

按红框指示填入downloadkey,然后点击红框按钮:

打开下载地址
打开下载地址

会自动打开浏览器弹出页面如图:

下载软件包
下载软件包

点击下载和本地python环境版本一致的工具包,注意密码也在页面最后一列,请记得保存

使用downloadkey获取下载链接,把key做为url在浏览器中打开,比如按上面那个key,则打开链接为https://api.metanoia8295.com/b8eeb1e9-a6ee-9f99-6c8b-bce8423b5e54,然后可以用wgetrequests等工具下载工具包

推荐使用,适用于联网的机器,高效便捷

用密码解压缩后把文件移动到某个固定路径,执行以下代码来自动安装或更新所需依赖:

pip install -r /解压缩路径/requirements.txt

有其他依赖安装需求,也请在此阶段完成,比如:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
pip install --upgrade jupyterlab ipywidgets skorch

断网离线更新也是支持的,前提是需要有一台能联网的机器做支持

需要ipythonjupyter支持,首先在能联网的机器上下载好需要的依赖包:

python /解压缩路径/auto_download.py

然后压缩后去离线的机器上执行离线安装依赖包:

python /解压缩路径/auto_install.py

先依次点击红框切换到解压缩后文件夹所在的路径:

在线激活
在线激活

再把用来激活的key填入橙框所示位置,按橙框按钮进行激活,激活后有需求可点击将文件夹添加到PYTHONPATH中节约sys.path.append操作

把下面代码中的ACTIVATION_UUID替换为得到的key,按样例就是992fdaa2-89fc-9cf4-1ee5-32b372f44fc6,然后使用ipythonjupyterterminal执行下面的代码:

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
如何支持直接import

单用户长期使用可把sys.path.append后的路径设为PYTHONPATH

  • windows可在系统环境变量中添加PYTHONPATH变量名并把路径做为变量值写入
  • linux方法很多,比如nano .bashrc直接最后一行插入export PYTHONPATH = "/somepath:$PYTHONPATH"然后再source .bashrc一下

离线激活也一样需要有一台能联网的机器做支持

在断网的机器上确定好路径,然后打开ipython输入:

import os
import sys
sys.path.append("这里填写下载后压缩包解压缩后的路径绝对路径")
import auth_public
data = dict(auth_public.PUBLIC_DICT)

此时会显示类似下图:

公钥public_keys样例
公钥public_keys样例

这一步中的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,再通过导出或者手写把私钥写回离线的机器上,继续执行代码如下:

# 此处的private_keys为联网机器上的私钥信息
auth_public.PRIVATE_DICT = private_keys
auth_public.activate_flow()

正常来说会显示和在线激活一样的成功信息,注意整个过程请尽量在1小时内完成避免潜在的异常情况

注意事项
  • 时间一致性:请确认待激活机器上的时间为标准北京时间,激活时需要验证时间一致性,如使用ubuntu时则注意时间服务器域名ntp.ubuntu.com为直连,避免时间或时区异常
  • python版本一致性:确认请确保下载的软件包和本地安装的python版本一致,不一致会导致import失败
  • 本地环境一致性:完成激活后,请不要对软件包的依赖环境再进行pip install --upgrade等操作,会打破环境一致性,导致需要重新下载并激活
  • 避免在虚拟机中使用:请尽量避免在虚拟机中激活和使用工具包,虚拟机会带有内存常驻检测机制,如果关机或重启需要重新下载并激活
  • 避免多用户使用:请避免同时多进程同时使用同一个软件包,单路径激活默认为单人使用配置,多人同时使用时会启用进程锁最终只有一个进程能成功执行,有单机多用户同时使用的需求,请购买多份并在不同路径分别激活
  • 到期或超限需重新激活:在使用过程中,不同套餐存在不同的有效期和使用次数等限制,到期需要重新下载并激活
  • 请勿破解:工具包价格已经非常低了,请不要尝试破解、反编译、反向工程等操作,底层代码做过多次混淆和加壳等操作,尝试破解并不会有超额收益,由此导致的激活失效和重新激活需要额外付费

根据购买套餐的不同,每个用户的情况会有所差异,如信息遗失或发生意外情况,可联系客服获取支持

扫描互动
扫描互动