我在我的服务器中提取、配置并使用了 make 作为安装包。

但是,我无法使用 进行安装. 。我收到错误

[~/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

我运行该文件夹

chmod +x Python-2.6.1

我仍然遇到同样的错误。

我怎样才能跑 进行安装 没有 sudo 访问权限?

有帮助吗?

解决方案

  

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

mkdir /home/masi/.local

cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install

然后使用:

运行
/home/masi/.local/bin/python

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

#!/home/masi/.local/bin/python

而不是使用默认的系统Python“#!/ / usr / bin / env python”会选择。

你可以改变你的PATH设置,只需输入“ python”从控制台运行该版本,但对于在不同用户下运行的Web应用程序没有帮助。

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

./configure --prefix=/home/masi/.local --with-python=/home/masi/.local

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

/home/masi/.local/bin/python setup.py install

其他提示

你不能;不 /usr, , 反正。只有超级用户才能写入这些目录。尝试将 Python 安装到主目录下的路径。

扩展 bobince 答案,如果您的系统中没有安装 readline 开发包,并且您没有 root 访问权限,则会出现问题。

当 Python 在没有 readline 的情况下编译时,箭头键在解释器中将不起作用。但是,您可以安装 readline 独立包,如下所示: 添加 Readline 功能而无需重新编译 Python

另一方面,如果您更喜欢使用本地安装的 readline 来编译 python,请按以下方法操作。

在按照 bobince 的指示进行操作之前,请编译并安装 readline。执行此操作的步骤如下:

然后,将此行添加到您的 .bash_profile 脚本中:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib

最后但并非最不重要的一点是,执行以下命令

export LDFLAGS="-L$HOME/.local"

我希望这可以帮助别人!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top