Ubuntu环境下包含多个python、pip版本时,如何新建conda环境

前提:你的Ubuntu系统很混乱,不知道把包装哪去了,明明pip install成功了,还是没看到包

  1. 查看不同pip版本
pip -V
pip3 -V
pip2 -V
  1. 新建conda环境
conda create -n my_project python=3.6
conda activate my_project
  1. 安装安装包

出现问题:
1 conda list 和pip list 显示的安装包不一致
2 采用pip install 安装的包在conda list中找不到
3 采用conda install 安装出现找不到包现象

原因:本人电脑上存在多个版本的python以及pip,所以在直接使用pip安装时,将安装的程序指定到了系统的安装路径下,而非当前my_project环境,需要对安装包位置进行指定。

一般而言,conda list 的安装包和pip list 的安装包确实会存在差异,但pip list的安装包应该是当前conda list 的子集,如果两者差别很大,在安装其他包的时候需要注意安装位置问题。

指定安装包位置:方法一:找到当前环境的site-packages,我的ubuntu系统是在/home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages
方法二:进行pip版本查询,查询结果会返回pip所在位置,如下所示:

(my_project) summer@summer-System-Product-Name:$ pip3 -V
pip 21.2.2 from /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages/pip (python 3.6)

那么pip所在的位置就是你安装其他安装包应该存放的位置。

pip install -t /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages moviepy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
# -t 后面指定安装位置
# -i 后面指定镜像源
# -–trusted-host pypi.douban.com 这是为了获得ssl证书的认证,要不然会报错

安装多个安装包

pip install -t /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages -r requirements.txt
  1. 安装moviepy时候遇到的问题

采用3中的语句安装时出现问题,如下:

      File "/usr/local/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 659, in easy_install
        raise DistutilsError(msg)
    distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pip>19')
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-d8u22rmc/imageio-ffmpeg/

具体情况是在安装imageio-ffmpeg时,需要pip版本大于19
查看自己电脑中是否有pip大于19的版本,我电脑中pip3的版本是21.2.2,故将安装语句换成如下:

pip3 install -t /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages moviepy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

在安装过程中电脑默认的镜像源是阿里云,后面发现找不到安装包,换成了豆瓣,平时安装出错了可以多换换

  1. 常用源
# 阿里云
-i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 清华大学
-i https://pypi.tuna.tsinghua.edu.cn/simple pypi.tuna.tsinghua.edu.cn
  1. 对单个安装包进行更新
pip3 install -t /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages opencv-python --upgrade
# 这里也对安装位置进行了固定,如果安装位置不确定,都可以指定安装位置
  1. 查看pip的默认安装位置
python -m site

显示:

(dlcv) summer@summer-System-Product-Name:~/Downloads/CV_transportation/MultiCarDetection$ python3 -m site
sys.path = [
    '/home/summer/Downloads/CV_transportation/MultiCarDetection',
    '/opt/ros/melodic/lib/python2.7/dist-packages',
    '/home/summer/anaconda3/envs/dlcv/lib/python36.zip',
    '/home/summer/anaconda3/envs/dlcv/lib/python3.6',
    '/home/summer/anaconda3/envs/dlcv/lib/python3.6/lib-dynload',
    '/home/summer/anaconda3/envs/dlcv/lib/python3.6/site-packages',
]
USER_BASE: '/home/summer/.local' (exists)
USER_SITE: '/home/summer/.local/lib/python3.6/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

可以看出我的pip默认安装到路径/home/summer/.local/lib/python3.6/site-packages下,故使用pip不指定路径安装时,在当前conda环境中找不到安装包

更详细的可参考:
https://blog.csdn.net/sueong/article/details/119829696

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值