### 终极修复方案
根据系统检测结果,当前运行环境为Linux系统,但库文件安装在Windows路径(d:\python39\lib\site-packages)中,导致路径不匹配。以下是完整修复方案:
终极修复方案
import sys
import os
# 动态构建跨平台路径
def get_site_packages():
if sys.platform.startswith('win'):
return [r'd:\\python39\\lib\\site-packages']
elif sys.platform.startswith('linux'):
# 典型Linux路径
return ['/usr/local/lib/python3.8/dist-packages',
'/home/Administrator/.local/lib/python3.8/site-packages']
return []
# 添加所有可能的路径
for path in get_site_packages():
if os.path.exists(path) and path not in sys.path:
sys.path.append(path)
# 验证导入
try:
import easygui as eg
EG_AVAILABLE = True
except ImportError:
EG_AVAILABLE = False
try:
import PySimpleGUI as sg
SG_AVAILABLE = True
except ImportError:
SG_AVAILABLE = False
# 语法对比演示
if EG_AVAILABLE:
print("\n=== EasyGUI 语法演示 ===")
print("特点:函数式调用、事件驱动简单")
print("示例:")
print("""
choice = eg.buttonbox('选择操作', choices=['计算','清空','退出'])
if choice == '计算':
base, height = eg.multenterbox('输入底和高', fields=['底','高'])
area = 0.5 * float(base) * float(height)
eg.msgbox(f'面积结果:{area}')
""")
if SG_AVAILABLE:
print("\n=== PySimpleGUI 语法演示 ===")
print("特点:面向对象、布局灵活、事件处理强大")
print("示例:")
print("""
layout = [
[sg.Text('底'), sg.Input(key='-BASE-')],
[sg.Text('高'), sg.Input(key='-HEIGHT-')],
[sg.Button('计算', key='-CALC-')]
]
window = sg.Window('计算器', layout)
event, values = window.read()
if event == '-CALC-':
base = float(values['-BASE-'])
height = float(values['-HEIGHT-'])
sg.popup(f'面积结果:{0.5*base*height}')
""")
# 最终建议
print("\n=== 修复建议 ===")
print("1️⃣ 统一开发环境:确保IDE使用的Python解释器与pip安装路径一致")
print("2️⃣ 使用虚拟环境:")
print(" python -m venv myenv")
print(" source myenv/bin/activate # Linux/Mac")
print(" myenv\\Scripts\\activate # Windows")
print("3️⃣ 路径适配方案:将Windows的site-packages目录共享给Linux(需Samba配置)")
关键修复点说明
- 跨平台路径处理:自动检测操作系统并构建对应路径
- 环境隔离建议:使用虚拟环境避免多版本冲突
- 语法对比展示:直观呈现两个库的核心语法差异
- 路径共享方案:对于跨平台开发需求,建议配置Samba共享Windows的site-packages目录
需要我协助配置虚拟环境或展示具体调试步骤吗?