没有sudo访问权限,无法安装Python

Léo*_* 준영 36 python installation sudo

我在服务器中解压缩,配置并使用make作为安装包.

但是,我无法使用make install.我收到了错误

[~/wepapps/python/Python-2.6.1]# make install
/usr/bin/install -c python /usr/local/bin/python2.6
/usr/bin/install: cannot create regular file `/usr/local/bin/python2.6': Permission denied
make: *** [altbininstall] Error 1
Run Code Online (Sandbox Code Playgroud)

我用它运行文件夹

chmod +x Python-2.6.1
Run Code Online (Sandbox Code Playgroud)

我仍然得到同样的错误.

如何在没有sudo访问权限的情况下运行make install

bob*_*nce 97

如何安装到我的主目录下的路径?

mkdir /home/masi/.local

cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install
Run Code Online (Sandbox Code Playgroud)

然后运行:

/home/masi/.local/bin/python
Run Code Online (Sandbox Code Playgroud)

同样,如果您有需要自己的Python用户版本的脚本(例如CGI),您必须明确地告诉它们:

#!/home/masi/.local/bin/python
Run Code Online (Sandbox Code Playgroud)

而不是使用"#!/ usr/bin/env python"将选择的默认系统Python.

您可以更改PATH设置,只需从控制台运行该版本键入"python",但对于在不同用户下运行的Web应用程序无效.

如果您编译链接到Python的东西(例如mod_wsgi),您必须告诉它在哪里找到您的Python,否则它将使用系统.这通常是这样的:

./configure --prefix=/home/masi/.local --with-python=/home/masi/.local
Run Code Online (Sandbox Code Playgroud)

对于像MySQLdb这样的其他基于setup.py的扩展,您只需使用正确版本的Python运行setup.py脚本:

/home/masi/.local/bin/python setup.py install
Run Code Online (Sandbox Code Playgroud)

  • 如果您的系统中没有安装工具,请参阅帖子http://stackoverflow.com/questions/624671/unable-to-install-python-setuptools-from-source (6认同)
  • 不知道2.6.X,但至少2.7.9和3.x在运行./configure脚本之前没有makefile。那么也许可以将“make clean”移到第一次配置调用下方? (2认同)

Eli*_*iko 16

截至 2020 年,pyenv假设系统具有必要的构建依赖项,则是无需 sudo 权限安装 Python 的最佳选择。

# Install pyenv
$ curl https://pyenv.run | bash

# Follow the instruction to modify ~/.bashrc

# Install the latest Python from source code
$ pyenv install 3.8.3

# Check installed Python versions
$ pyenv versions

# Switch Python version
$ pyenv global 3.8.3

# Check where Python is actually installed
$ pyenv prefix
/home/admin/.pyenv/versions/3.8.3

# Check the current Python version
$ python -V
Python 3.8.3
Run Code Online (Sandbox Code Playgroud)

  • 如果在第一行之后遇到“pyenv:找不到命令”,请考虑[我的评论](https://github.com/pyenv/pyenv-installer/issues/103#issue-744018427)。 (4认同)