安装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..tar.gz
cd pip-8.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】的更多相关文章

  1. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  2. Linux环境(服务器)下非root用户安装Python3.6

    Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...

  3. Linux 以非root用户安装zsh&配置on my zsh

    此文章参考以下三篇文章,如有侵权请联系 Linux非root用户安装zsh, 并用oh-my-zsh进行配置 在没有sudo权限的Linux服务器下安装oh-my-zsh 不使用root权限安装zsh ...

  4. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...

  5. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

  6. zzw_非root用户安装python3.5

    目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...

  7. perl 下使用非root用户安装模块

    perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...

  8. 【tf.keras】Linux 非 root 用户安装 CUDA 和 cuDNN

    TensorFlow 2.0 for Linux 使用时报错:(cuDNN 版本低了) E tensorflow/stream_executor/cuda/cuda_dnn.cc:319] Loade ...

  9. Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  10. Linux系统非root用户安装perl模块

    非root权限安装perl 在使用Linux或是unix时,perl是一个非常有用的脚本的语言. 关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过 ...

随机推荐

  1. Mybatis批量更新<转>

    Mybatis批量更新 批量操作就不进行赘述了.减少服务器与数据库之间的交互.网上有很多关于批量插入还有批量删除的帖子.但是批量更新却没有详细的解决方案. 实现目标 这里主要讲的是1张table中.根 ...

  2. arm + fpga 核心板

  3. am335x -- led 控制

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h&g ...

  4. Spring整合activiti单元测试

    ** * Spring测试activiti配置是否正常 * <p>Title: SpringActivitiTest</p> * <p>Description: & ...

  5. sqlServer的主键只能自增不能手动增加

    1. 2.找到相应的表,找到表设计.

  6. 得到application

    ServletContext application = request.getSession().getServletContext();        String basePath = (Str ...

  7. 后缀数组LCP + 二分 - UVa 11107 Life Forms

    Life Forms Problem's Link Mean: 给你n个串,让你找出出现次数大于n/2的最长公共子串.如果有多个,按字典序排列输出. analyse: 经典题. 直接二分判断答案. 判 ...

  8. java------HashMap与HashSet的区别

    HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的问题不涉及到HashSet和H ...

  9. 说说JSON和JSONP 也许你会豁然开朗

    说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决 前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只 ...

  10. java并发容器(Map、List、BlockingQueue)具体解释

    Java库本身就有多种线程安全的容器和同步工具,当中同步容器包含两部分:一个是Vector和Hashtable.另外还有JDK1.2中增加的同步包装类.这些类都是由Collections.synchr ...