python - 如何在 cocotb 中强制使用 python 3?
问题描述
我正在使用 CocoTB 来测试我的 HDL 设计,但据我所知,它可以与 python2.7 或 python3 一起使用。
在 setup.py 配置文件中,我可以看到两者都受支持:
[...]
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
[...]
在 endian_swapper 测试(examples/endian_swapper/tests/test_endian_swapper.py)中,如果我修改测试脚本以查看使用的是哪个版本:
@cocotb.test()
def wavedrom_test(dut):
"""
Generate a JSON wavedrom diagram of a trace and save it to wavedrom.json
"""
print("Python version used {}".format(sys.version_info))
我可以看到使用 «make» 命令启动测试时使用了 python2.7:
Python version used sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)
我的 python3 可执行文件名为...实际上是 python3(debian)。有没有强制 cocotb 使用 python3 而不是 python2 的规范方法?
解决方案
我找到了一个合适的方法来做到这一点。
首先在官网下载最新版本的python:
$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz
然后将其展开并使用选项--enable-shared对其进行配置
$ tar -Jxvf Python-3.7.4.tar.xz
$ cd Python-3.7.4
$ ./configure --enable-shared
$ make
$ sudo make install
安装后转到您的 cocotb 测试目录,然后安装虚拟环境:
$ export LD_LIBRARY_PATH=/usr/local/lib
$ virtualenv --python=/usr/local/bin/python3.7 envp37
$ source envp37/bin/activate
$ python -m pip install cocotb
然后你可以使用传统的 make 启动你的 cocotb 测试环境:
$ make
使用以下命令激活 python 环境:
$ deactivate
推荐阅读
- command-line - 如何在 fedora xfce 命令行中清空垃圾?
- javascript - 我如何把这个 javascript 变成 jQuery
- sql - SQL:获取具有两种突变的数据计数
- vue.js - 您将如何在服务器端或客户端处理图像拼图 web 应用程序?
- reactjs - 如何修复 React JS 中的“类型错误”axios
- angular - 子组件:无法将 undefined 转换为对象,如何解决?
- python-3.x - 在 Tkinter 2.0 中的帧之间传递变量?
- php - 查找每个 Foreach 循环通行证的第一个
- c - Malloc 两次返回相同的指针
- python - 解析大数