EcoAmp最新版本安装

1、下载最新版本EcoAmp

首先解释一下EcoAmp的绘图实现,是使用python提供GUI界面处理传入参数然后使用封装好的R语言脚本进行绘图和数据处理,使用python 3.11.5版本开发,R语言使用的版本是R-4.5.0,不同版本的R也是可以兼容的(但是由于某些R包没安装报错,在本地安装一下即可),也推荐使用和开发时相同的版本。

因此,在下面下载的时候可以选择只下载EcoAmp程序,然后使用本地的R语言程序也是可以的(可能有些包会没有安装,提示的时候需要手动安装一下)。然后下面我也提供了一个我电脑上开发时候使用的R包环境,下载之后解压即可。

如果你的电脑在之前没有安装R语言程序,那么建议直接下载使用我提供的一个打包的R语言环境,这样可以完全适配所有的功能,不会出现缺失包的情况。

下面的教程为Windows的安装教程,苹果系统安装请查看:https://www.leoduo.cn/ecoamp_insatall_macos.html

2、下如何安装主程序

在网盘链接中下载 EcoAmp_install.bat  文件,也可以复制下面的文本粘贴到记事本(二选一即可),然后重命名一下后缀为 .bat 文件。然后放到软件需要安装的地方,双击运行bat然后等待自动安装即可。

EcoAmp_install.bat 文本内容如下:

@echo off
setlocal enabledelayedexpansion

:: 设置变量
set PYTHON_URL=https://www.python.org/ftp/python/3.11.5/python-3.11.5-embed-amd64.zip
set PIP_URL=https://bootstrap.pypa.io/get-pip.py
set HF_ENDPOINT=https://hf-mirror.com
set PIP_MIRROR=https://mirrors.aliyun.com/pypi/simple

:: 检查并安装Python
if not exist ./EcoAmp/python-3.11.5-embed-amd64\python.exe (
    powershell -Command "& {Invoke-WebRequest -Uri !PYTHON_URL! -OutFile python.zip}"
    powershell -Command "& {Expand-Archive -Path python.zip -DestinationPath ./EcoAmp/python-3.11.5-embed-amd64 -Force}"
    del python.zip
    (
	echo	python311.zip
        echo import site
        echo Lib
        echo Lib\site-packages
        echo .
        echo ..
        echo ../python_script
        echo ../python_script/display_ui_Storage
    ) > ./EcoAmp/python-3.11.5-embed-amd64\python311._pth
)

:: 切换到python目录
cd ./EcoAmp/python-3.11.5-embed-amd64

:: 检查并安装pip
if not exist Scripts\pip.exe (
    powershell -Command "& {Invoke-WebRequest -Uri !PIP_URL! -OutFile get-pip.py}"
    python get-pip.py
)

:: 配置环境变量
path Scripts

:: 安装指定的Python包到Lib\site-packages目录
python -m pip install --upgrade setuptools -i !PIP_MIRROR!
python -m pip install --upgrade pip -i !PIP_MIRROR!

:: 安装指定版本的包
python -m pip install et_xmlfile==2.0.0 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install numpy==2.2.0 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install openpyxl==3.1.5 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install python-dateutil==2.9.0.post0 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install pytz==2024.2 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install six==1.17.0 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install tzdata==2024.2 -t .\Lib\site-packages -i !PIP_MIRROR!

:: 安装最新版本的包
python -m pip install networkx -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install pandas==2.2.3 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install PyMuPDF==1.25.1 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install pyqt6==6.6.0 pyqt6-qt6==6.6.0 pyqt6_sip==13.8.0 -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install requests -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install markdown -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install flask -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install cryptography -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install wmi -t .\Lib\site-packages -i !PIP_MIRROR!
python -m pip install tqdm -t .\Lib\site-packages -i !PIP_MIRROR!

:: 切换到原始的目录
cd ..\..

:: 准备生成下载EcoAmp最新版本的文件
echo import hmac > download_EcoAmp.py
echo import hashlib >> download_EcoAmp.py
echo import time >> download_EcoAmp.py
echo import requests >> download_EcoAmp.py
echo import json >> download_EcoAmp.py
echo import os >> download_EcoAmp.py
echo import zipfile >> download_EcoAmp.py
echo import shutil >> download_EcoAmp.py
echo from tqdm import tqdm >> download_EcoAmp.py
echo. >> download_EcoAmp.py
echo def generate_signature(timestamp): >> download_EcoAmp.py
echo     secret = '4x8KvFYnVJdK+6OV1GC4A5FGy8f6sDG9+0xDBWzRJ1Yx9eYgxqf0O0v8OzbnAH2d' >> download_EcoAmp.py
echo     message = f"{timestamp}{secret}" >> download_EcoAmp.py
echo     return hmac.new(secret.encode('utf-8'), message.encode('utf-8'), hashlib.sha256).hexdigest() >> download_EcoAmp.py
echo. >> download_EcoAmp.py
echo def get_latest_gonggao(): >> download_EcoAmp.py
echo     try: >> download_EcoAmp.py
echo         timestamp = int(time.time()) >> download_EcoAmp.py
echo         signature = generate_signature(timestamp) >> download_EcoAmp.py
echo         headers = {'X-API-TIMESTAMP': str(timestamp), 'X-API-SIGNATURE': signature} >> download_EcoAmp.py
echo         response = requests.get("http://count.leoduo.cn/get_latest_gonggao", headers=headers) >> download_EcoAmp.py
echo         if response.status_code == 502: >> download_EcoAmp.py
echo             print("Request failed with status code 502, skipping") >> download_EcoAmp.py
echo             return None >> download_EcoAmp.py
echo         if response.status_code == 200: >> download_EcoAmp.py
echo             return response.json()['version_url'] >> download_EcoAmp.py
echo         else: >> download_EcoAmp.py
echo             print(f"Request failed with status code: {response.status_code}, error: {response.text}") >> download_EcoAmp.py
echo             return None >> download_EcoAmp.py
echo     except Exception as e: >> download_EcoAmp.py
echo         print(f"Exception occurred: {str(e)}") >> download_EcoAmp.py
echo         return None >> download_EcoAmp.py
echo. >> download_EcoAmp.py
echo def get_download_link(share_url): >> download_EcoAmp.py
echo     shareId = share_url.split('/')[-1] >> download_EcoAmp.py
echo     url_info = "https://pan.cstcloud.cn/s/api/shareGetInfo" >> download_EcoAmp.py
echo     payload_info = json.dumps({"shareId": shareId, "password": ""}) >> download_EcoAmp.py
echo     url_download = "https://pan.cstcloud.cn/s/api/shareDownloadRequest" >> download_EcoAmp.py
echo     headers = { >> download_EcoAmp.py
echo         'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0", >> download_EcoAmp.py
echo         'Accept': "application/json, text/javascript, */*; q=0.01", >> download_EcoAmp.py
echo         'Accept-Encoding': "gzip, deflate, br, zstd", >> download_EcoAmp.py
echo         'sec-ch-ua-platform': "\"Windows\"", >> download_EcoAmp.py
echo         'sec-ch-ua': "\"Chromium\";v=\"136\", \"Microsoft Edge\";v=\"136\", \"Not.A/Brand\";v=\"99\"", >> download_EcoAmp.py
echo         'sec-ch-ua-mobile': "?0", >> download_EcoAmp.py
echo         'X-Language': "zh", >> download_EcoAmp.py
echo         'X-Requested-With': "XMLHttpRequest", >> download_EcoAmp.py
echo         'X-Device': "Web", >> download_EcoAmp.py
echo         'Content-Type': "application/json; charset=UTF-8", >> download_EcoAmp.py
echo         'Origin': "https://pan.cstcloud.cn", >> download_EcoAmp.py
echo         'Sec-Fetch-Site': "same-origin", >> download_EcoAmp.py
echo         'Sec-Fetch-Mode': "cors", >> download_EcoAmp.py
echo         'Sec-Fetch-Dest': "empty", >> download_EcoAmp.py
echo         'Referer': "https://pan.cstcloud.cn/web/share.html?hash=fpsl717T3k", >> download_EcoAmp.py
echo         'Accept-Language': "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,pt-BR;q=0.5,pt;q=0.4,de-DE;q=0.3,de;q=0.2", >> download_EcoAmp.py
echo         'Cookie': "token=4XVqyO_NQNk@607599" >> download_EcoAmp.py
echo     } >> download_EcoAmp.py
echo     response_info = requests.post(url_info, data=payload_info, headers=headers) >> download_EcoAmp.py
echo     fid = response_info.json()['share']['fid'] >> download_EcoAmp.py
echo     payload_download = json.dumps({"fid": fid, "shareId": shareId}) >> download_EcoAmp.py
echo     response_download = requests.post(url_download, data=payload_download, headers=headers) >> download_EcoAmp.py
echo     return response_download.json()['downloadUrl'] >> download_EcoAmp.py
echo. >> download_EcoAmp.py
echo def download_file(url, filename): >> download_EcoAmp.py
echo     response = requests.get(url, stream=True) >> download_EcoAmp.py
echo     total_size = int(response.headers.get('content-length', 0)) >> download_EcoAmp.py
echo     progress_bar = tqdm(total=total_size, unit='iB', unit_scale=True) >> download_EcoAmp.py
echo     with open(filename, 'wb') as file: >> download_EcoAmp.py
echo         for data in response.iter_content(chunk_size=1024): >> download_EcoAmp.py
echo             progress_bar.update(len(data)) >> download_EcoAmp.py
echo             file.write(data) >> download_EcoAmp.py
echo     progress_bar.close() >> download_EcoAmp.py
echo. >> download_EcoAmp.py
echo def extract_and_flatten(zip_path, target_dir): >> download_EcoAmp.py
echo     os.makedirs(target_dir, exist_ok=True) >> download_EcoAmp.py
echo     temp_dir = os.path.join(target_dir, "temp_extract") >> download_EcoAmp.py
echo     os.makedirs(temp_dir, exist_ok=True) >> download_EcoAmp.py
echo     try: >> download_EcoAmp.py
echo         with zipfile.ZipFile(zip_path, 'r') as zip_ref: >> download_EcoAmp.py
echo             for file_info in zip_ref.infolist(): >> download_EcoAmp.py
echo                 try: >> download_EcoAmp.py
echo                     file_info.filename = file_info.filename.encode('cp437').decode('gbk') >> download_EcoAmp.py
echo                 except: >> download_EcoAmp.py
echo                     pass >> download_EcoAmp.py
echo                 zip_ref.extract(file_info, temp_dir) >> download_EcoAmp.py
echo         extracted_items = os.listdir(temp_dir) >> download_EcoAmp.py
echo         if len(extracted_items) == 1: >> download_EcoAmp.py
echo             top_item = os.path.join(temp_dir, extracted_items[0]) >> download_EcoAmp.py
echo             if os.path.isdir(top_item): >> download_EcoAmp.py
echo                 for item in os.listdir(top_item): >> download_EcoAmp.py
echo                     src = os.path.join(top_item, item) >> download_EcoAmp.py
echo                     dst = os.path.join(target_dir, item) >> download_EcoAmp.py
echo                     if os.path.exists(dst): >> download_EcoAmp.py
echo                         if os.path.isdir(dst): >> download_EcoAmp.py
echo                             shutil.rmtree(dst) >> download_EcoAmp.py
echo                         else: >> download_EcoAmp.py
echo                             os.remove(dst) >> download_EcoAmp.py
echo                     shutil.move(src, dst) >> download_EcoAmp.py
echo                 if not os.listdir(top_item): >> download_EcoAmp.py
echo                     os.rmdir(top_item) >> download_EcoAmp.py
echo             else: >> download_EcoAmp.py
echo                 shutil.move(top_item, os.path.join(target_dir, extracted_items[0])) >> download_EcoAmp.py
echo     except Exception as e: >> download_EcoAmp.py
echo         print(f"Error during extraction: {str(e)}") >> download_EcoAmp.py
echo         raise >> download_EcoAmp.py
echo     finally: >> download_EcoAmp.py
echo         if os.path.exists(temp_dir): >> download_EcoAmp.py
echo             shutil.rmtree(temp_dir, ignore_errors=True) >> download_EcoAmp.py
echo         if os.path.exists(zip_path): >> download_EcoAmp.py
echo             try: >> download_EcoAmp.py
echo                 os.remove(zip_path) >> download_EcoAmp.py
echo             except: >> download_EcoAmp.py
echo                 pass >> download_EcoAmp.py
echo. >> download_EcoAmp.py
echo if __name__ == '__main__': >> download_EcoAmp.py
echo     download_link = get_latest_gonggao() >> download_EcoAmp.py
echo     if download_link and 'pan.cstcloud.cn' in download_link: >> download_EcoAmp.py
echo         download_link = get_download_link(download_link) >> download_EcoAmp.py
echo     print(download_link) >> download_EcoAmp.py
echo     download_file(download_link, 'EcoAmp_latest.rar') >> download_EcoAmp.py
echo     extract_and_flatten('EcoAmp_latest.rar', "./EcoAmp/") >> download_EcoAmp.py
echo File download_EcoAmp.py has been created successfully.

:: 运行下载文件
.\EcoAmp\python-3.11.5-embed-amd64\python.exe .\download_EcoAmp.py

:: 运行下载文件
del .\download_EcoAmp.py



:: 创建并写入config.json文件

(
    echo {
    echo     "R_bin": "set the bin path of the R package for the software to function properly",
    echo     "Current_language": "English",
    echo     "current_name": "",
    echo     "temperature": 0.63,
    echo     "system": "You are an expert in ecological data analysis, assisting users in analyzing the results of image plotting. You reply to my questions in Chinese. As a built-in assistant of a software, your output environment supports Markdown format, but table output is only supported in HTML format. Remember not to output tables in Markdown format.",
    echo     "max_token": "5000",
    echo     "stream": true,
    echo     "entries": [],
    echo     "Vip_active_code": "",
    echo     "if_auto_sent_message": false
    echo }
) > ".\EcoAmp\config.json"

echo download_EcoAmp has been successfully

:: 暂停
pause

 

 

下面网盘链接选择一个自己常用的下载即可:

科技云盘: https://pan.cstcloud.cn/s/LCWILJQcs

百度云盘: https://pan.baidu.com/s/1FT0iayMwPcM590tlpTXOzw?pwd=6666 提取码: 6666

123云盘:   https://www.123684.com/s/g5qnjv-VezaH

天翼云盘: https://cloud.189.cn/web/share?code=7BBZZf3uIjIb(访问码:mre0)

 

3、安装过程

双击  EcoAmp_install.bat 文件,就回弹出终端命令开始下载文件,安装的时候不需要点击地方,等待运行结束即可(小编测试大概4min内,具体看个人网速而定)

下面是中间会出现的界面

出现下面的内容代表下载安装成功,测试了多次一般在4min内可以安装完成

安装成功之后,会在bat文件的同目录下面出现一个EcoAmp的文件夹,里面就是我们的主程序

双击打开 EcoAmp.exe试试 ,下载下面的加载界面说明安装成功

安装成功之后,还需要配置R语言的环境即可正常使用

 

4、配置R包的环境

设置R语言的bin文件夹路径(一定要设置,不然所有的功能都用不了

R语言环境的选择,如果你使用本地已经安装好的R语言环境,即可跳过网盘链接中R包环境的下载

如果本地没有R语言环境,推荐下载网盘中打包好的R语言环境,下载之后在电脑上找一个位置解压即可,以备下面使用。

找到本地或者解压好的R语言环境的bin文件夹所在的位置,下面配置过程使用。

配置教程

首先启动EcoAmp.exe应用程序,找到设置界面如下图,配置R语言环境,将R的bin文件夹所在的路径拖入即可

然后将自己本地或者网盘下载的R包环境的 bin文件夹路径拖入方框中

然后弹出图示:

这样就设置成功了。然后关闭应用进行重启

重启之后就可以使用全部的功能了,安装教程至此结束。

 

 

本文最后更新于2025-04-11如有失效,请留言
THE END