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
如有失效,请留言