我需要安装 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