我怀疑这与我在 CentOS 6.9 上并且必须安装 SCL Python 2.7 以免干扰默认的 Python 2.6 安装有关。
我已经完成了以下步骤https://cloud.google.com/storage/docs/gsutil/addlhelp/CRC32CandInstallingcrcmod但是,并没有出现任何错误。
gsutil ver -l
但仍然显示
compiled crcmod: False
我怎样才能解决这个问题?
我在另一个 (CentOS 7) 机器上运行它。我注意到的一个区别是,在 CentOS 7 机器上,crcmod 文件位于 中lib64
,而在 CentOS 6 机器上,crcmod 文件位于 中lib
。两个机器都是 64 位的,并且 Python 2.7 在两个系统上都运行 64 位(使用 进行检查print struct.calcsize("P") * 8
)
所以我认为 Centos6 盒子以某种方式安装了 32 位 crcmod 而不是 64 位?
谢谢你!
答案1
我能够使用以下脚本在 CentOS 6 实例上设置 crcmod:
$ nano p.sh
- - 脚本 - -
yum groupinstall -y "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
-y
cd /tmp
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
tar xf Python-2.7.15.tgz
cd Python-2.7.15
./configure --prefix=/usr/local
make
make altinstall
cp -a /usr/lib/python2.6/site-packages/google_compute_engine/ /usr/local/lib/python2.7/site-packages/google_compute_engine/
ln -s /usr/local/bin/python2.7 /usr/bin/python2.7
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python2.7 get-pip.py
ln -s /usr/local/bin/pip2.7 /usr/bin/pip2.7
----- 脚本结束 -----
$ sudo chmod +x p.sh
$ sudo ./p.sh
$ export CLOUDSDK_PYTHON=/usr/local/bin/python2.7 #make it as a permanent change
$ sudo yum install gcc python-devel python-setuptools redhat-rpm-config
$ sudo pip2.7 install -U crcmod
$ gsutil version -l
>> compiled crcmod: True