如何以用户身份安装 python

如何以用户身份安装 python

我需要安装 python,这样我就可以安装 pip/fab,它不需要 root 权限就可以运行和安装东西。我正在设置一个 vagrant VM 环境,它需要以非 root 身份运行 fab 才能运行,我真的不想 sudo 所有操作或开始更改权限。

我知道使用 OSX 我可以使用 brew 安装 python,它会将 python 安装到 /usr/local/bin 或类似位置,然后我可以首先编辑我的 bash_profile 路径来查看该目录。

答案1

使用虚拟环境。这允许您创建无限数量的虚拟 Python 环境,因此您可以轻松地为不同的项目使用不同的软件包集。安装以下内容:

sudo apt-get install python-virtualenv

然后:

sudo pip install virtualenvwrapper

然后,将以下内容附加到您的 .bashrc 文件:

export WORKON_HOME=~/Envs
mkdir -p ~/Envs
source /usr/local/bin/virtualenvwrapper.sh

然后,假设我们要创建一个名为“test-env”的虚拟环境,我们可以执行:

mkvirtualenv test-env 

使用方法:

workon test-env

从这个环境中,您可以使用 pip 安装任何东西(无需 sudo!)。

要退出虚拟环境:

deactivate 

答案2

是的,你可以这样做。你可以将 Python 安装到你的主目录中。因此,你不需要具有 root 权限,但需要做一些基础工作。按照答案操作。

打开你的终端,假设你正在将 python 安装到你的主目录。

mkdir python
cd python
wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
tar -xvf Python-2.7.6.tgz
cd Python-2.7.6

那么现在,在执行时configure,您必须提及您要将其安装在哪里。

所以喜欢

./configure --prefix=$HOME/python
make
make install

现在你的 Python 已经安装在你主目录中的名为 python 的目录中。所以你的系统现在必须知道它要访问的 Python 就在那里。所以只需要完成 bashrc 即可。

在终端类型:nano ~/.bashrc

然后添加为

export PATH=$HOME/python/Python-2.7.6/:$PATH

CTRL并使用++保存 -X退出Y

然后做

source ~/.bashrc

建议:重新启动您的电脑以更新我们所做的新环境设置。

就是这样。现在python从你的主目录开始你的系统调用。

来源

答案3

您可以通过执行以下代码并以变量“PYTHON_VER”中定义的所需 Python 版本安全地以本地/非 root 用户身份安装 Python

# Install Python3 and Libraries as a local user. 
python_config() {
    export PYTHON_VER="3.10.5" 
    export PYTHON_VER_SHORT="$(echo ${PYTHON_VER} | cut -d '.' -f1,2)" 
    cd ~ 
    rm -rf ~/python && mkdir -p ~/python 
    echo "" >> ~/.bashrc 
    echo "export PATH=~/python/bin:$PATH" >> ~/.bashrc 
    source ~/.bashrc 
    wget --quiet --no-check-certificate "https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz" 
    tar -zxvf ~/Python-${PYTHON_VER}.tgz 1>/dev/null 
    cd ~/Python-${PYTHON_VER}/ 
    echo "Python ${PYTHON_VER} - Installing in current logged-in user - $(whoami)" 
    echo "Python ${PYTHON_VER} - Installation in-progress. Please wait..." 
    ./configure --enable-optimizations --prefix=$HOME/python > /dev/null 2>&1; 
    echo "Python ${PYTHON_VER} - ETA: upto 5mins. Please wait..." 
    make altinstall > /dev/null 2>&1; 
    ln -s ~/python/bin/python${PYTHON_VER_SHORT} ~/python/bin/python3 
    ln -s ~/python/bin/pip${PYTHON_VER_SHORT} ~/python/bin/pip3 
    wget --quiet --no-check-certificate https://bootstrap.pypa.io/get-pip.py -O - | python3 - --prefix=$HOME/python 
    source ~/.bashrc 
    ~/python/bin/pip3 install --upgrade pip 
    ~/python/bin/pip3 install --upgrade pygithub 
    ~/python/bin/pip3 install --upgrade --no-cache-dir -r /tmp/requirements.txt --use-pep517 
    cd ~ && rm -rf ~/Python-${PYTHON_VER}* 
    ~/python/bin/python3 --version 
    ~/python/bin/pip3 --version 
    echo "Python ${PYTHON_VER} - Setup Completed!" 
}

# Function Call
python_config

相关内容