如何解决Travis认为该体系结构是32位的,但Python对此表示反对
我正在使用Travis来测试各种版本和体系结构上的Python代码。我正在尝试将32位Linux体系结构纳入其中。
在我的.travis.yml
作业的表条目中看到的意义上,下面的arch: x86
似乎成功了。但是,我在自省的Python代码中也看到了日志中的以下输出:
$ python -c 'import sys,struct,platform;print("{\n%s}"%"".join(" %25r %c %r,\n"%(c,58,eval(c)) for c in """struct.calcsize("P")*8 sys.maxsize platform.machine() platform.architecture()""".split()))'
{
'struct.calcsize("P")*8' : 64,'sys.maxsize' : 9223372036854775807,'platform.machine()' : 'x86_64','platform.architecture()' : ('64bit','ELF'),}
对于32位版本的Python,struct.calcsize("P")*8
应该返回32
,而sys.maxsize
应该是2147483647
。我实际上得到的输出意味着64位版本。而且由于我不相信64位二进制文件可以在32位计算机上运行,因此似乎有悖常理的事情。我忽略了什么?
# Welcome to .travis.yml
os: linux
arch: x64
language: python
install:
- python -c 'import sys,eval(c)) for c in """struct.calcsize("P")*8 sys.maxsize platform.machine() platform.architecture()""".split()))'
- python -m pip install --upgrade pip
- python -m pip install pytest
- python -m pip install .
script:
- python -m pytest -v .
matrix:
include:
- python: 2.7
# ...
- python: 3.8
- name: "Python 3.8 on 32-bit Linux"
arch: x86
python: 3.8
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。