zl程序教程

您现在的位置是:首页 >  后端

当前栏目

centos linux安装python 3.7.4步骤和报错以及PaddlePaddle dockerfile安装python 3.7.4

PythonLinuxcentos安装 报错 以及 步骤 Dockerfile
2023-09-11 14:14:26 时间

报错

configure: error: in `/root/Python-3.7.4': configure: error: C compiler cannot create executables
gcc: error: unrecognized command line option '-V' gcc: fatal error: no input files

安装以下依赖解决:

yum install glibc-devel
yum install glibc-devel.i686

安装步骤
https://www.cnblogs.com/adolfmc/p/12006780.html

https://blog.51cto.com/u_15101595/2625151

下面是在centos7上的安装方法
1、安装编译相关工具

yum -y groupinstall "Development tools"

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

yum install libffi-devel -y

2、下载安装包解压

cd #回到用户目录

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

tar -xzvf Python-3.7.4.tgz

cd   Python-3.7.4/        #进入解压后的文件夹中

3、编译安装

登录后复制
mkdir /usr/local/python3    #创建编译安装目录

./configure --prefix=/usr/local/python3   #将python3.74安装到上方创建的目录中

./configure --enable-optimizations    
   
make -j8 && make install

直接输入python3看下效果是否OK
删除原有的软链接 

```cpp
rm -rf /usr/local/bin/python3 && rm -rf /usr/bin/python3

#创建软连接
ln -sf /usr/local/bin/python3.7 /usr/local/bin/python3 && ln -sf /usr/local/bin/python3.7 /usr/bin/python3 && ln -sf /usr/local/bin/pip3.7 /usr/local/bin/pip3 && ln -sf /usr/local/bin/pip3.7 /usr/bin/pip3

查看软连接情况

```cpp
 ll /usr/bin/ |grep python   和 ll /usr/bin/ |grep pip 

如果有多个版本的python,如何指定特定的python版本安装

    && python3.7 -m pip install --upgrade setuptools \
    && python3.7 -m pip install --upgrade pip \
    && python3.7 -m pip install -r requirements.txt \
    && python3.7 -m pip install paddlepaddle_gpu-2.2.2.post101-cp37-cp37m-linux_x86_64.whl  \

dockfile安装

wget https://www.sqlite.org/2018/sqlite-autoconf-3250300.tar.gz
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
wget https://paddle-ci.gz.bcebos.com/TRT/TensorRT6-cuda10.1-cudnn7.tar.gz
wget https://paddle-inference-lib.bj.bcebos.com/2.2.2/python/Linux/GPU/x86-64_gcc8.2_avx_mkl_cuda10.1_cudnn7.6.5_trt6.0.1.5/paddlepaddle_gpu-2.2.2.post101-cp37-cp37m-linux_x86_64.whl
FROM registry.baidubce.com/paddlepaddle/serving:0.7.0-cuda10.1-cudnn7-devel

COPY . /deploy
WORKDIR /deploy

# Install Python3.7
RUN mkdir -p /root/python_build/ && \
    tar -zxf sqlite-autoconf-3250300.tar.gz && cd sqlite-autoconf-3250300 && \
    ./configure -prefix=/usr/local && make -j8 && make install && cd ../ && rm sqlite-autoconf-3250300.tar.gz

# Install Python3.7
RUN tar -xzf Python-3.7.4.tgz && cd Python-3.7.4 && \
    CFLAGS="-Wformat" ./configure --prefix=/usr/local/ --enable-shared > /dev/null && \
    make -j8 > /dev/null && make altinstall > /dev/null && ldconfig && cd .. && rm -rf Python-3.7.4*

ENV LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}

RUN rm -rf /usr/local/bin/python3 && rm -rf /usr/bin/python3
RUN ln -sf /usr/local/bin/python3.7 /usr/local/bin/python3 && ln -sf /usr/local/bin/python3.7 /usr/bin/python3 && ln -sf /usr/local/bin/pip3.7 /usr/local/bin/pip3 && ln -sf /usr/local/bin/pip3.7 /usr/bin/pip3

RUN rm -r /root/python_build

# Install TensorRT6
RUN tar -zxf TensorRT6-cuda10.1-cudnn7.tar.gz -C /usr/local \
    && cp -rf /usr/local/TensorRT6-cuda10.1-cudnn7/include/* /usr/include/ && cp -rf /usr/local/TensorRT6-cuda10.1-cudnn7/lib/* /usr/lib/ \
    && echo "cuda10.1 trt install ==============>>>>>>>>>>>>" \
    && pip3 install /usr/local/TensorRT6-cuda10.1-cudnn7/python/tensorrt-6.0.1.5-cp37-none-linux_x86_64.whl \
    && pip3 install /usr/local/TensorRT6-cuda10.1-cudnn7/graphsurgeon/graphsurgeon-0.4.1-py2.py3-none-any.whl \
    && rm TensorRT6-cuda10.1-cudnn7.tar.gz

# Install requirements
RUN pip config set global.index-url https://mirror.baidu.com/pypi/simple \
    && python3.7 -m pip install --upgrade setuptools \
    && python3.7 -m pip install --upgrade pip \
    && pip3 install -r requirements.txt \
    && pip3 install paddlepaddle_gpu-2.2.2.post101-cp37-cp37m-linux_x86_64.whl  \
    && rm paddlepaddle_gpu-2.2.2.post101-cp37-cp37m-linux_x86_64.whl \
    && python3 paddle_model.py

ENTRYPOINT python3 web_service.py