Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何:在ArchLinux/Raspbian/Volumio/Raspberry上升级到Python 3.8.5_Python_Python 3.x_Raspberry Pi_Openssl_Volumio - Fatal编程技术网

如何:在ArchLinux/Raspbian/Volumio/Raspberry上升级到Python 3.8.5

如何:在ArchLinux/Raspbian/Volumio/Raspberry上升级到Python 3.8.5,python,python-3.x,raspberry-pi,openssl,volumio,Python,Python 3.x,Raspberry Pi,Openssl,Volumio,我面临的问题是,我的代码至少需要Python 3.5。。。因此,我升级到Python 3.5.2。 不幸的是,对Python3.5.xEHAS的支持已经结束,对PIP21.0的支持将在几个月后结束。。。 所以我需要升级aggain。 你可以找到它背后的全部代码。 当我开始安排升级/升级时,我注意到: Web上没有在Raspberry/ArchLinux/Raspbian上安装Python 3.8.5的指南 如果你做了通常的步骤,你会搞砸SSL->没有Webinterface,没有SSH,没有GI

我面临的问题是,我的代码至少需要Python 3.5。。。因此,我升级到Python 3.5.2。 不幸的是,对Python3.5.xEHAS的支持已经结束,对PIP21.0的支持将在几个月后结束。。。 所以我需要升级aggain。 你可以找到它背后的全部代码。 当我开始安排升级/升级时,我注意到:

  • Web上没有在Raspberry/ArchLinux/Raspbian上安装Python 3.8.5的指南
  • 如果你做了通常的步骤,你会搞砸SSL->没有Webinterface,没有SSH,没有GIT,没有Pip安装
  • 因此,如果您按照这些步骤操作,您应该已经有了一个正在运行的Python3.8.5(Alt-)安装

    请注意:在我的安装步骤中,我使用了标准文件夹/home/USER/->请将其更改为您的用户名(对于Volumio,这将是:/home/Volumio)


    请在此处取消第210-213行的注释,并将第210行更改为:



    保存并退出:ctrl+x,y,enter


    现在你准备好出发了

    要使用PIP3(.8)类型: sudo/home/USER/src/Python-3.8.5/bin/pip3.8yourcommand--yourcoptions

    要使用Python3(.8)类型: sudo/home/USER/src/Python-3.8.5/bin/python3.8yourcommand--yourcoptions

    其背后的想法是:我们将OpenSSL 1.1.1b(Python3.8.5需要)安装到另一个目录中,这样标准的OpenSSL仍然可以正常工作。之后,我们Alt安装Python 3.8.5,并在安装过程中告诉它使用自定义OpenSSL安装

    我的解决方案可能不是最好的,但它是实用的。 如果您对如何使其更好/更简单有想法,请发表评论

    干杯

    sudo apt-get update
    
    sudo apt-get install -y build-essential libffi-dev libc6-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev
    
    cd
    
    mkdir /home/USER/src 
    
    cd /home/USER/src && mkdir openssl && cd openssl
    
    wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
    
    tar xvf openssl-1.1.1b.tar.gz && cd openssl-1.1.1b
    
    ./config --prefix=/home/USER/src/openssl-1.1.1b --openssldir=/home/USER/src/openssl-1.1.1b && make && sudo make install
    
    cd 
    
    echo "/home/USER/src/openssl-1.1.1b/lib" >> /etc/ld.so.conf.d
    
    sudo ldconfig 
    
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/USER/src/openssl-1.1.1b/lib 
    
    cd /home/USER/src && mkdir python && cd python 
    
    wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz 
    
    tar xf Python-3.8.5.tar.xz 
    
    cd Python-3.8.5 
    
    sudo nano /home/USER/src/python/Python-3.8.5/Modules/Setup
    
    SSL=/home/USER/src/openssl-1.1.1b
    _ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto
    
    ./configure --prefix=/home/USER/src/Python-3.8.5 --with-openssl=/home/USER/src/openssl-1.1.1b && make -j4 && sudo make altinstall
    
    export PATH=~/home/USER/src/Python-3.8.5/bin:$PATH 
    
    export LD_LIBRARY_PATh=/home/USER/src/Python-3.8.5/bin
    
    sudo /home/USER/src/Python-3.8.5/bin/pip3.8 install -U pip #
    
    sudo /home/USER/src/Python-3.8.5/bin/pip3.8 install -U setuptools #
    
    sudo /home/USER/src/Python-3.8.5/bin/pip3.8 install --upgrade setuptools pip wheel #