是否有有关如何在WSL上从头安装PyGears的说明?我试图在网上找到它,但没有成功。
答案 0 :(得分:1)
WSL相当新,与标准Ubuntu完全不同。它通常不带某些软件包,并且总是有丢失某些东西的机会,应该额外添加。
以下是对我有用的过程:
WSL 2安装
构建必不可少的
要能够运行所有PyGears工具,我们需要确保已安装所有必需品,请运行以下命令来获取它:
sudo apt update
sudo apt install build-essential
文本编辑器
WSL没有标准的文本编辑器,例如gedit。安装您习惯的东西。请记住,对于gedit,您将需要某种服务器才能将gedit显示为GUI应用。
WSL 2上的GUI
我还将介绍该主题,以确保您一切正确。为了能够在WSL中查看GUI,可以安装此工具VcXsrv。安装后,使用以下设置运行XLaunch:
我知道这不是超级安全。但是,这允许WSL2根据this issue和this Github正确连接。请注意,您必须将导出添加到.bashrc
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
(或它的某些变体)到您的.bashrc,以便WSL2找到正确的显示。
如果该解决方案不起作用,请检查this link。
要测试的是GUI工作类型
source ~/.bashrc
echo $DISPLAY
应该看到类似这样的内容:172.31.0.1:0
安装PyGears
使用pip安装 首先,请确保您已安装pip
sudo apt install python3-pip
PyGears需要Python 3.6或更高版本。使用以下命令安装PyGears软件包。
sudo pip3 install -U pygears-tools
下一步,键入此命令
pygears-tools-install -d
现在,Qt的xcb插件默认不提供WSL 2,以解决此问题。
sudo apt-get install --reinstall libxcb-xinerama0
应该的。为了进行测试,您可以使用以下代码:
from pygears import gear
from pygears.typing import Ufixp, Uint
from pygears.lib import drv, collect
from pygears.sim import sim, cosim
@gear
def darken(din, *, gain):
return din * Ufixp[0, 8](gain)
res = []
drv(t=Uint[8], seq=[12, 23, 255]) \
| darken(gain=0.5) \
| float \
| collect(result=res)
cosim('/darken', 'verilator', outdir='./home/stefan/test/output')
sim()
print(res)
更改outdir
以显示您空间中的某个位置,并将文件另存为.py并编译为标准python文件。输出应类似于:
- /darken/mul [INFO]: Running sim with seed: 2631661647950327284
0 [INFO]: -------------- Simulation start --------------
103 [INFO]: ----------- Simulation done ---------------
103 [INFO]: Elapsed: 0.01
[6.0, 11.5, 127.5]