没有 sudo 访问权限无法安装 Python
-
05-07-2019 - |
题
我在我的服务器中提取、配置并使用了 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。执行此操作的步骤如下:
- 获取 ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz
- tar -zxvf readline-6.2.tar.gz
- cd readline-6.2
- ./configure --with-prefix=$HOME/.local
- 制作
- 进行安装
然后,将此行添加到您的 .bash_profile 脚本中:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
最后但并非最不重要的一点是,执行以下命令
export LDFLAGS="-L$HOME/.local"
我希望这可以帮助别人!