克隆GitHub的PyTorch仓库后无法导入本地自定义版本进行测试的问题
你遇到的no module named torch.version报错,是因为你直接导入了未编译的PyTorch原始源码目录下的torch文件夹,这个原始结构里没有生成对应的构建后模块,必须先完成PyTorch本地编译流程,才能正常导入使用。
问题1:test.py的存放位置要求
你不需要将test.py放到特定目录,只要Python的依赖搜索路径能优先索引到你编译后的本地PyTorch包即可。如果是临时测试不想修改全局配置,可以直接把test.py放到编译完成后的PyTorch仓库根目录下运行,此时Python会优先读取当前目录下的torch包,也就是你修改后的本地版本。
问题2:添加本地PyTorch到Python搜索路径的方法
你可以根据使用场景选择以下任意一种方法:
- 临时终端生效(仅当前终端会话有效,适合单次测试)
Linux/macOS终端执行:
Windows PowerShell执行:export PYTHONPATH=/替换为你本地编译好的PyTorch仓库绝对路径:$PYTHONPATH
执行完成后在当前终端运行test.py即可正常导入本地PyTorch。$env:PYTHONPATH = "C:\替换为你本地编译好的PyTorch仓库绝对路径;$env:PYTHONPATH" - 单脚本生效(仅当前test.py有效,不影响其他项目)
在test.py的最开头添加以下两行代码:
该配置会把本地PyTorch路径放到搜索优先级最高的位置,运行脚本时会优先导入你修改后的版本。import sys sys.path.insert(0, "/替换为你本地编译好的PyTorch仓库绝对路径") - 全局永久生效(适合长期开发调试,所有Python项目都默认用本地版本)
进入你编译完成的PyTorch仓库根目录,执行以下命令:
该命令会以可编辑模式安装本地PyTorch,之后你对PyTorch纯Python代码的修改会直接生效,无需重复安装;如果修改了C++/CUDA等底层代码,重新编译后即可生效,不用再次执行安装命令。pip install -e .
内容的提问来源于stack exchange,提问作者Luca Stubbe
相关产品推荐
相关产品推荐

