使用pip将软件安装到制定位置

最近趁着元旦小假,重新配置了一下工作站,真的是一把辛酸泪!下面分享一下踩过的坑。
首先工作站安装了anaconda,但是在激活指定虚拟环境安装软件时,提示安装成功,但是在该环境下导入时,却提示“ImportError: No module named cython”,这是由于电脑上安装了多个版本的pip,以及不同的pip对应不同的python,因此有时候使用pip install安装某个包时,可能会没有安装在想要的位置。

一、多版本pip引起的安装位置不当

对于这种情况可以使用使用python的‘-m’参数来指定pip,比如我现在要给路径‘/home/bidlc/.conda/envs/python-mxnet’下的虚拟环境‘python-mxnet’安装cython,就可以使用如下指令:

/home/bidlc/.conda/envs/python-mxnet/bin/python -m pip install cython

二、超级权限引起的安装位置不当

还有一个尴尬的情况就是,你在安装部分软件的时候,可能会提示你“权限有问题”,我一般都是习惯性的在指令前加个sudo。总之,不加不行,加上又是新的问题。见下图
在这里插入图片描述
原来加上sudo之后我使用的pip是系统自带的,并不是我虚拟环境中的版本。为了解决这个问题,我们只需要在安装时使用指令 -t 来指定安装路径即可,具体方法如下

sudo pip install -t /home/bidlc/.conda/envs/python-mxnet/lib/python2.7/site-packages scedar

这样就可以将所需的包安装在指定位置,解决了python版本出错问题。其实第二个方法也可以用来解决第一种情况。

补充:方法一中的“-m”参数,到底有什么作用囊
在这里插入图片描述
即将库中的python模块用作脚本去运行。

---------------------------------后更---------------------------------------

python xxx.py和python -m xxx.py有什么区别!

python xxx.py
python -m xxx.py

这是两种加载py文件的方式:
1、叫做直接运行
2、把模块当作脚本来启动(注意:但是__name__的值为’main’ )
不同的加载py文件的方式,主要是影响——sys.path 这个属性。sys.path 就相当于liunx中的PATH。直接启动是把run.py文件所在的目录放到了sys.path属性中;而模块启动是把你输入命令的目录(也就是当前路径),放到了sys.path属性中***

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值