非root用户安装python,pip,package

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非root用户安装python,pip,package相关的知识,希望对你有一定的参考价值。

安装python:

下载源码 解压 进入

./configure --prefix=/path/python3.6
注意一定要设置prefix,否则默认安装到/usr/local make make install

没有make install,然后使用的话可能会报 ModuleNotFoundError: No module named ‘_ctypes‘ 错误

安装完成后进入指定的目录看一下,可以看到四个目录

 

 

安装pip:

我用源码安装python3之后,可以看到pip也顺带安装好了,不知道是python3自带的还是单纯给环境变量里已有的pip做了个link,反正位置在/python_home/bin/pip

如果手动安装(没试过):

方法一

安装setuptool
wget --no-check-certificate http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz
tar -xzvf setuptools-2.0.tar.gz
cd setuptools-2.0
/home/lilei/software/python27/bin/python setup.py install

安装pip

wget --no-check-certificate https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar.gz#md5=6b86f11841e89c8241d689956ba99ed7
tar -xzf pip-8.1.1.tar.gz
cd pip-8.1.1
/home/lilei/software/python27/bin/python setup.py install

方法二:

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user

这里的python如果是2.7就按照的是pip2, 如果是3就安装pip3。

一定记得使用 –user 参数否则你还是没有权限。。。

安装完成后会在家目录下生成 .local 文件夹,里面有bin和lib, bin 里就有我们需要的pip、easy_install 
如果想直接使用,需要加入环境变量。

export PATH=~/.local/bin:$PATH

 

 

安装package:

注意:

python、python包、pip三者是独立的

如果python -m pip 的话,就会调用环境变量的pip

如果python  /path_to_your_pip/pip 的话,就会调用指定路径的pip

但是无论用哪个pip,python包的安装位置如果不在pip命令中用--user或 指定的话,就默认安装在PYTHONPATH中

因此就算使用的python在/usr或/usr/local里,就算使用的pip在/usr或/usr/local里,只要你使用了--user选项或将PATHONPATH修改为了你可以访问的路径,就能安装

方法一:

安装到自己目录下:

python3 -m  pip install --user  numpy

方法二:

安装到指定目录:

将PYTHONPATH修改为只有一个你自己有权限的目录,然后python pip install

(或用 pip install --target=/home/pythonDirect/ packageName,没试过)

方法三(没试过):使用虚拟环境

很多时候我们不同的项目需要的包的版本不同,我们可以采用virtualenv做一个独立的生态系统。

# 安装virtualenv
pip install --user virtualenv
virtualenv env
source env/bin/activate

这样就进入了一个独立的python环境,再用pip安装就可以了。具体的使用可以搜索

 



以上是关于非root用户安装python,pip,package的主要内容,如果未能解决你的问题,请参考以下文章

使用pip安装Python包,但无法导入使用

python 非root 用户安装第三方模块

[Linux] 非root安装Lefse软件及其数据分析

以非root身份安装Python的Module或者Package以及pip安装指定路径

pip的简单安装与基本使用

如何在 linux 上为所有使用 pip 的用户安装模块?