安装对应版本的python如果系统安装的python版本与项目需要的版本不一致,需要手动下载python二进制包编译安装获取指定版本的python,网址https://registry.npmmirror.com/binary.html?path=python/比如现在安装的是python3.6.15,下面的命令参数需要根据具体的python版本进行更改。创建文件夹$sudomkdir/usr/local/python3获取对应版本的压缩文件$cd/usr/local/python3$sudowgethttps://cdn.npmmirror.com/binaries/python/3.6.15/Python-3.6.15.tar.xz压缩包解压后,cd到解压后的文件夹,会有配置文件configure$sudotar-xvfPython-3.6。15.tar.xz执行配置文件,会生成Makefile$cd/usr/local/python3/Python-3.6.15$sudo./configure--enable-optimizations--prefix=/usr/local/python3--enable-optimizations允许优化,--prefix指定安装目录编译,安装$sudomakeall$sudomakeinstall以上步骤完成后,/usr/local/python3/bin会安装对应版本的python和pip可执行文件,现在创建对应的软链接$sudoln-s/usr/local/python3/bin/pip3.6/usr/bin/pip3.6$sudoln-s/usr/local/python3/bin/python3.6/usr/bin/python3.6验证安装结果,从/usr/local/python3/lib/python3.6可以看到pip3.6指向的python版本和对应的位置$pip3.6-Vpip18.1/site-packages/pip注意事项(python3.6)由于python的位置是/usr/local/python3,所以pip安装有些库安装后生成的二进制包的可执行文件路径位置是/usr/local/python3/bin/比如安装了celery和uwsgi,那么需要执行/usr/local/python3/bin/celery或者/usr执行/local/python3/bin/uwsgidockerpullimagetimeoutdockerpullredis报错如下Headhttps://registry-1.docker.io/v2/library/redis/manifests/latest:gethttps://auth.docker.io/token?scope=repository%3Alibrary%2Fredis%3Apull&service=registry.docker.io:net/http:requestcanceledwhilewaitingforconnectionorerror如下获取https://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhilewaitingheaders),需要修改域名解析文件/etc/resolv.conf,直接用vim编辑nameserver8.8。8.8nameserver8.8.4.4然后重启docker$sudosystemctlrestartdockerdocker拉取镜像报错。报错如下:failedtoregisterlayer:ApplyLayerexitstatus1stdout:stderr:archive/tar:invalidtarheader。出现这个错误的原因是使用unpigz解压了docker镜像层。解决方法一、移动unpigz可执行文件的位置使其无法解压$mv/usr/bin/unpigz/usr/bin/unpigz.bak解决方法二、参考docker官方文档并配置相应的环境变量$vim/serv中的usr/lib/systemd/system/docker.service#在iceunit下,添加这一行[Service]Environment="MOBY_DISABLE_PIGZ=true"gitclone域名解析报错错误输出Couldnotresolvehost:gitee.comKylin系统的Git根本不支持域名解析,先查一下gitee.comIP$nslookupgitee.comServer:223.5.5.5Address:223.5.5.5#53非权威回答:gitee.comcanonicalname=aoufnebg.dayugslb.com.Name:aoufnebg.dayugslb.comAddress:212.64.63.215Name:aoufnebg.dayugslb.comAddress:212.64.63.190如果找不到,需要显示指定的dns地址$nslookupgitee.com8.8.8.8最后将对应的IP解析写入/etc/hosts212.64.63.190gitee.comgit克隆的gnutls错误报告错误输出gnutls_handshake()failed:Anerroroccurredinthepushfunction.这个解决方法很麻烦。您需要用openssl替换gnutls。只能从源码构建git来解决安装一些前置依??赖的问题。$apt-getinstalldh-autoreconflibcurl4-gnutls-devlibexpat1-devgettextlibz-devlibssl-dev查看系统当前的git版本$gitversiongitversion2.25.1为了保险起见,弄个git包同版本的获取git网站地址kernel.org,git镜像$wgethttps://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.1.tar.gz解压编译$tar-zxfgit-2.25.1.tar.gz$cdgit-2.25.1$makeconfigure此时默认使用openssl(不清楚其他版本是否这样是这样的)执行前先执行以下命令,看输出提示信息中是否有这一行$./configure--help...--with-openssl使用OpenSSL库(默认为YES)ARG可以是前缀foropenssllibraryandheaders...编译安装$./configure--prefix=/usr/local/git$make$makeinstall最后删除系统自带的git,创建软链接指向编译好的git$sudomv/usr/bin/git/usr/bin/git.back$sudoln-s/usr/local/git/bin/git/usr/bin/gitpsycopg2或psycopy2-binary的pip依赖错误Error:pg_configexecutablenotfound.pg_config位于postgresql-devel包中。在Debian/Ubuntu系统中,需要安装libpq-dev。在Centos/Fedora/Cygwin/Babun/Redhat系统中,需要libpq-devel。在麒麟系统中执行aptinstalllibpq-devlxml'spipdependencyerror报错error:Pleasemakesurethelibxml2andlibxsltdevelopmentpackagesareinstalled对于jpeg,从源代码编译Pillow时必需的依赖项。请参阅安装安装:https://pillow.readthedocs.io/en/latest/installation.html看文档,发现有很多二进制依赖。需要注意zlib和libjpeg这两个库,查看pythonpillow的arm架构的Dockerfile,查看包中是否需要安装。目前,你只需要按照必要的包来解决问题$aptinstalllibjpeg8-devzlib1g-dev参考阅读dockerdaemondocumentationpythonpillow'sDockerfileforarmarchitecture
