在编译DREAMPlace时执行
sudo make
结果显示
Traceback (most recent call last):
File "/mnt/d/Documents/Junior/Research_Intern_Program/DREAMPlace/build/dreamplace/ops/dct/setup.py", line 11, in <module>
import torch
ModuleNotFoundError: No module named 'torch'
make[2]: *** [dreamplace/ops/dct/CMakeFiles/dct.dir/build.make:76: dreamplace/ops/dct/dct.stamp] Error 1
make[1]: *** [CMakeFiles/Makefile2:3034: dreamplace/ops/dct/CMakeFiles/dct.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
查看dreamplace/ops/dct/CMakeFiles/dct.dir/build.make的第76行为
cd /mnt/d/Documents/Junior/Research_Intern_Program/DREAMPlace/build/dreamplace/ops/dct && /usr/bin/python /mnt/d/Documents/Junior/Research_Intern_Program/DREAMPlace/build/dreamplace/ops/dct/setup.py build --build-temp=/mnt/d/Documents/Junior/Research_Intern_Program/DREAMPlace/build/dreamplace/ops/dct/build --build-lib=/mnt/d/Documents/Junior/Research_Intern_Program/DREAMPlace/build/dreamplace/ops/dct/lib
测试命令
python
和
python3
都可以import,但是
/usr/bin/python
无法import,得知原因是在~.zshrc中使用了
alias python='/usr/bin/python3.8'
于是将该行注释掉,转而执行命令
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.8 /usr/bin/python
再试,结果仍然是报相同的错。手动执行/usr/bin/python命令能够成功执行,却不能make。最后发现是使用sudo的原因,改为执行
make
即成功make。