在python2.7中安装cos-ftp-server出现的一些常见问题,记录下避免再次出现同样的问题
笔者基于系统版本:Centos 7.5.1804 ,Python版本2.7.5 进行问题排查踩坑。
安装步骤
安装必要环境
如文档所述,使用pip安装以下几个模块
- cos-python-sdk-v5 (≥1.6.5)
- pyftpdlib (≥1.5.2)
- psutil(>=5.6.1)
pip install psutil
pip install pyftpdlib
pip install cos-python-sdk-v5
如果提示no command,则要安装python-pip
代码语言:javascript复制yum install python-pip -y
开始正式安装
项目地址:https://github.com/tencentyun/cos-ftp-server-V5
安装git(选)
已使用pip install cos-python-sdk-v5请忽略该步骤
已从github项目文件下载文件可以忽略安装git、下载项目
如果有兴趣可以找下怎么安装git2.x,yum 版本为 1.18,但不影响使用
代码语言:txt复制yum install -y git
下载项目
代码语言:txt复制git clone https://github.com/tencentyun/cos-ftp-server-V5.git
安装运行
代码语言:txt复制cd cos-ftp-server-V5
python setup.py install
到此基本安装完了,后续可以再回到文档中配置。配置没问题即可使用了。
安装提醒报错
提醒'extras_require' must be a dictionary
代码语言:txt复制 ERROR: Command errored out with exit status 1:
command: /usr/bin/python2 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-vwGRKd/psutil/setup.py'"'"'; __file__='"'"'/tmp/pip-install-vwGRKd/psutil/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-mLL9IK
cwd: /tmp/pip-install-vwGRKd/psutil/
Complete output (5 lines):
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'long_description_content_type'
warnings.warn(msg)
error in psutil setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
- 初步判断是与pip 自带的setuptools版本安装存在冲突
pip install pip==20.3.4
pip install requests==2.22.0
pip install setuptools==44.1.1
注意:Python2目前已不提供维护,相应的python依赖包迭代不再支持,更多说明移步到官方说明
提醒gcc未安装
代码语言:txt复制gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_SIZEOF_PID_T=4 -DPSUTIL_VERSION=573 -DPSUTIL_LINUX=1 -I/usr/include/python2.7 -c psutil/_psutil_common.c -o build/temp.linux-x86_64-2.7/psutil/_psutil_common.o
psutil/_psutil_common.c:9:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python2 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-VCi9XS/psutil/setup.py'"'"'; __file__='"'"'/tmp/pip-install-VCi9XS/psutil/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-A1ljvJ/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python2.7/psutil Check the logs for full command output.
- 安装 python-devel
yum install python-devel
其他-查看模块版本
方法1. 引入模块并进行查看
代码语言:txt复制>>> import requests
>>> requests.__version__
'2.9.0'
方法2. 使用help(模块名查看),在最后几行可以看到
代码语言:txt复制>>> help(requests)
···
···
VERSION
2.9.0
AUTHOR
Kenneth Reitz
方法3. 使用pip list 查看
代码语言:txt复制[root@VM-1-16-centos ~]# pip list|grep requests
requests (2.6.0)