Ubuntu下安装SkyNet开源代码遇No module named 'SkyNet'问题求助
检查Python环境与安装路径匹配
先确认安装SkyNet时用的Python版本和你运行示例时的版本一致。执行which python3看当前使用的Python路径,对比CMake配置时默认的Python路径(如果没指定的话)。
然后找到SkyNet Python模块的安装位置,通常在/usr/local/lib/pythonX.Y/dist-packages或~/.local/lib/pythonX.Y/site-packages(X.Y是Python版本号),检查该目录下是否存在SkyNet文件夹或相关包文件。
运行python3 -c "import sys; print(sys.path)",查看输出里是否包含上述安装路径。如果没有,可临时添加路径后再测试:import sys sys.path.append("/usr/local/lib/python3.8/dist-packages") # 替换成你的实际路径 from SkyNet import *或者通过环境变量临时设置:
export PYTHONPATH="/usr/local/lib/python3.8/dist-packages:$PYTHONPATH"设置后再运行示例代码。
重新安装时明确指定Python版本
先卸载现有安装:如果安装时生成了uninstall目标,执行sudo make uninstall;否则手动删除安装目录下的SkyNet相关文件。
重新编译安装时,明确指定Python解释器,避免CMake选错版本:mkdir build && cd build cmake -DPYTHON_EXECUTABLE=$(which python3) .. make && sudo make install全程留意安装日志,确保Python模块的安装步骤没有报错。
检查模块名大小写
注意Linux系统下路径和文件名区分大小写,检查安装目录里的模块文件夹名称是SkyNet还是skynet。如果是后者,把示例代码里的导入语句改成from skynet import *再测试。手动安装Python模块
若上述方法无效,找到SkyNet源码中的Python子目录(通常叫python或skynet-python),进入该目录后执行:pip install .安装完成后再运行
pip list确认SkyNet已在包列表中,之后再测试示例代码。
内容的提问来源于stack exchange,提问作者Melvin

