无sudo权限时如何安装已下载的Python包(含PasteScript实例)
解决无sudo权限下安装PasteScript的权限问题
你遇到的问题很典型——默认的python setup.py install会往系统级的Python目录(比如/usr/local/lib/python2.7/dist-packages/)写文件,没有sudo权限肯定会被拒绝。给你几个靠谱的解决办法:
方法一:用用户级安装参数(最简单)
直接在安装命令后加--user参数,它会把包安装到你个人用户目录下的Python站点包路径,完全不需要系统权限:
python setup.py install --user
安装完成后,Python会自动识别这个用户目录下的包,你直接就能用PasteScript的命令(比如paster)。
方法二:自定义安装目录(更灵活)
如果你想把包放到指定的目录下,可以这么做:
- 先创建一个自己有权限的目录,比如:
mkdir -p ~/my-python-packages - 执行安装命令时指定这个目录:
python setup.py install --home=~/my-python-packages - 最后需要把这个目录加到Python的搜索路径里,临时生效可以执行:
要是想永久生效,把上面的export PYTHONPATH=~/my-python-packages/lib/python2.7/site-packages:$PYTHONPATHexport命令加到你的~/.bashrc或者~/.profile文件里,然后执行source ~/.bashrc让配置生效。
额外小技巧:用pip安装更省心
如果你的环境里有pip的话,直接用pip的用户级安装命令更简单,连手动下载包都省了:
pip install --user PasteScript
最后别忘了检查一下:安装完成后,PasteScript的脚本会放到~/.local/bin/目录下,如果这个目录不在你的系统PATH里,你需要把它加上,不然可能找不到paster命令:
export PATH=~/.local/bin:$PATH
同样,把这条命令加到~/.bashrc里就能永久生效啦。
内容的提问来源于stack exchange,提问作者tog22




