首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在茧中强制使用python 3?

如何在茧中强制使用python 3?
EN

Stack Overflow用户
提问于 2019-03-27 15:04:40
回答 2查看 786关注 0票数 4

我正在使用CocoTB测试我的高密度脂蛋白设计,但据我所知,它可以与python2.7或python3一起使用。

在setup.py配置文件中,我可以看到两者都受到支持:

代码语言:javascript
复制
    [...]
    "Programming Language :: Python :: 2.7",
    "Programming Language :: Python :: 3",
    [...]

在(examples/endian_swapper/tests/test_endian_swapper.py),测试endian_swapper中,如果我修改测试脚本以查看使用哪个版本:

代码语言:javascript
复制
@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))

我可以看到python2.7是使用make命令启动测试时使用的:

代码语言:javascript
复制
Python version used sys.version_info(major=2, minor=7, micro=9, releaselevel='final', serial=0)

我的python3可执行文件名为..。实际上是python3 (debian)。是否有一种规范的方法来强迫cocotb使用python3而不是python2?

EN

回答 2

Stack Overflow用户

发布于 2019-10-08 13:27:41

我找到了一个合适的方法。

首先,在官方网站上下载最后一个版本的python:

代码语言:javascript
复制
$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tar.xz

然后将其解压并配置为选项--启用共享

代码语言:javascript
复制
$ tar -Jxvf Python-3.7.4.tar.xz
$ cd Python-3.7.4
$ ./configure --enable-shared
$ make
$ sudo make install

安装完毕后,转到cocotb测试目录,然后安装虚拟环境:

代码语言:javascript
复制
$ 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测试环境:

代码语言:javascript
复制
$ make

使用以下方法消除python环境:

代码语言:javascript
复制
$ deactivate
票数 1
EN

Stack Overflow用户

发布于 2019-04-01 08:08:09

我在linuxconfig.org上找到了解决方案,多亏了马佩克。但这不是我想要的。

别名解决方案对我不起作用。更新-替代工作,但只与官方的python3安装在debian上。我不能使用手动安装的替代(3.7)。

代码语言:javascript
复制
$ sudo update-alternatives --config python
There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /usr/bin/python3.7   2         auto mode
  1            /usr/bin/python2.7   0         manual mode
  2            /usr/bin/python3.4   1         manual mode
* 3            /usr/bin/python3.7   2         manual mode

Press enter to keep the current choice[*], or type selection number: 3
$ make clean;make
0.00ns INFO     Running on Icarus Verilog version 11.0 (devel)
0.00ns INFO     Python interpreter initialised and cocotb loaded!
0.00ns INFO     Running tests with Cocotb v1.0.1 from /opt/cocotb
0.00ns INFO     Seeding Python random module with 1554105931
0.00ns INFO     Found test test_ttl.ttl_test
0.00ns INFO     Running test 1/1: ttl_test
0.00ns INFO     Starting test: "ttl_test"
                Description:  simple ttl test function 
[...]
3.4.2 (default, Feb  7 2019, 06:11:23) 
[...]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55380437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档