前提:你的Ubuntu系统很混乱,不知道把包装哪去了,明明pip install成功了,还是没看到包
- 查看不同pip版本
pip -V
pip3 -V
pip2 -V
- 新建conda环境
conda create -n python=3.6 my_project
conda activate my_project
- 安装安装包
出现问题: 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
安装多个安装包
pip install -t /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages -r requirements.txt
- 安装
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
在安装过程中电脑默认的镜像源是阿里云,后面发现找不到安装包,换成了豆瓣,平时安装出错了可以多换换
- 常用源
-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
- 对单个安装包进行更新
pip3 install -t /home/summer/anaconda3/envs/my_project/lib/python3.6/site-packages opencv-python --upgrade
- 查看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
|