【非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..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】的更多相关文章
- Linux 下非 root 用户安装 theano(配置 GPU)
非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...
- Linux环境(服务器)下非root用户安装Python3.6
Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...
- Linux 以非root用户安装zsh&配置on my zsh
此文章参考以下三篇文章,如有侵权请联系 Linux非root用户安装zsh, 并用oh-my-zsh进行配置 在没有sudo权限的Linux服务器下安装oh-my-zsh 不使用root权限安装zsh ...
- 非root用户安装软件
下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...
- 源代码安装-非ROOT用户安装软件的方法
0. 前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...
- zzw_非root用户安装python3.5
目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...
- perl 下使用非root用户安装模块
perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...
- 【tf.keras】Linux 非 root 用户安装 CUDA 和 cuDNN
TensorFlow 2.0 for Linux 使用时报错:(cuDNN 版本低了) E tensorflow/stream_executor/cuda/cuda_dnn.cc:319] Loade ...
- Linux下非root用户安装软件的一般流程:
1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...
- Linux系统非root用户安装perl模块
非root权限安装perl 在使用Linux或是unix时,perl是一个非常有用的脚本的语言. 关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过 ...
随机推荐
- Mybatis批量更新<转>
Mybatis批量更新 批量操作就不进行赘述了.减少服务器与数据库之间的交互.网上有很多关于批量插入还有批量删除的帖子.但是批量更新却没有详细的解决方案. 实现目标 这里主要讲的是1张table中.根 ...
- arm + fpga 核心板
- am335x -- led 控制
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h&g ...
- Spring整合activiti单元测试
** * Spring测试activiti配置是否正常 * <p>Title: SpringActivitiTest</p> * <p>Description: & ...
- sqlServer的主键只能自增不能手动增加
1. 2.找到相应的表,找到表设计.
- 得到application
ServletContext application = request.getSession().getServletContext(); String basePath = (Str ...
- 后缀数组LCP + 二分 - UVa 11107 Life Forms
Life Forms Problem's Link Mean: 给你n个串,让你找出出现次数大于n/2的最长公共子串.如果有多个,按字典序排列输出. analyse: 经典题. 直接二分判断答案. 判 ...
- java------HashMap与HashSet的区别
HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的问题不涉及到HashSet和H ...
- 说说JSON和JSONP 也许你会豁然开朗
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决 前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只 ...
- java并发容器(Map、List、BlockingQueue)具体解释
Java库本身就有多种线程安全的容器和同步工具,当中同步容器包含两部分:一个是Vector和Hashtable.另外还有JDK1.2中增加的同步包装类.这些类都是由Collections.synchr ...