安装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. python学习笔记(8)--爬虫下载占位图片

    说明: 1. 虽然很简单,但总忘,所以还是记下来吧! 2. http://placekitten.com/300/300这个画猫的网站老是打开没有图片,改成了http://placehold.it/3 ...

  2. ubuntu -- mf210v拨号流程

      1 脚本建立 Root权限进入Ubuntu,在 /etc/ppp/ 下面建立两个目录,如果有就不需要建立了.直接把脚本放进去或者建立新文件即可. cd /etc/ppp mkdir peers c ...

  3. 1.javascript语言精粹笔记

    一.注释 /**/ // 采用这个 二.标识符 标识符被用于语句.变量.参数.属性名.运算符和标记三.数字 javascript只有一个单一的数字模型.它在内部被表示64位的浮点数. 没有分离出整形, ...

  4. "crsctl check crs" command hangs at EVMD check

     Pre-11gR2: "crsctl check crs" command hangs at EVMD check (文档 ID 1578875.1) APPLIES TO: ...

  5. VB.NET & 策略模式(下机用户类型选择)

    上篇文章讲述了对于下机操作和基本数据设定的时间联系,今天主要就是应用"策略模式"来了解了解对于固定用户,以及暂时用户之间的选择,看学习设计模式的时候自己对于策略模式的理解,我们能够 ...

  6. CSS3 实现的一个简单的"动态主菜单" 示例

    其实这个示例蛮无聊的 很简单 也没什么实际的用处. 主要是展示了 CSS3 如何实现动画效果. 写这个主要是想看一看 完成这样的效果 我到底要写多少代码. 同时和我熟悉的java做个比较. 比较结果不 ...

  7. C++ 运算符重载二(一元运算符重载)

    //一元运算符重载 #include<iostream> using namespace std; class Point { public: Point(int x,int y){ th ...

  8. mysql -- 预处理语句

    所谓预处理,即在真正执行某条SQL语句之前,先将SQL语句准备好,在执行过程中再绑定数据 语法: 准备预处理 prepare 预处理名字 from ‘要执行的SQL语句’ 执行预处理 execute ...

  9. 【BZOJ】1638: [Usaco2007 Mar]Cow Traffic 奶牛交通(dfs+dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1638 一条边(u, v)经过的数量=度0到u的数量×v到n的数量 两次记忆化dfs算出他们即可 #i ...

  10. Angular入门篇高速开发导航网

    简单介绍 AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式.这样的方式能够让你扩展HTML的语法.以弥补在构建动态WEB应用时静态文本的不足.从而在web应用程 ...