当前位置: 代码迷 >> 综合 >> 20200918-workstone
  详细解决方案

20200918-workstone

热度:58   发布时间:2024-02-20 04:56:53.0

BUG1

pip安装opencv-python报错

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

第一缺少ssl模块

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
./config --prefix=/usr/local/openssl no-zlib
make
make install

第二,需要重新编译python3.6,并且在编译的时候加入–with -ssl
编译过程中又报错

PermissionError: [Errno 13] Permission denied: ‘build/lib.linux-x86_64-3.6/_sysconfigdata_m_linux_x86_64-linux-gnu.py’
generate-posix-vars failed
make: *** [Makefile:581:pybuilddir.txt] 错误 1
解决方法
在命令前加sudo
sudo make install

编译完成后 还是不行。。。奶奶个雄 没道理阿
选用第二种方法
永久修改pip源

如果需要永久修改pip的软件镜像源,可以通过修改配置文件实现。

在Linux下,修改~/.pip/pip.conf,如果没有则创建:

mkdir ~/.pip
vim ~/.pip/pip.conf

添加以下内容

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com

或者是:

[global]  
timeout = 6000  
index-url = http://pypi.douban.com/simple/  
[install]  
use-mirrors = true  
mirrors = http://pypi.douban.com/simple/  
trusted-host = pypi.douban.com

然后 又失败了
记得第一次编译python好像是在安装openssl之前

再次重新编译

成功

还有错
Could not install packages due to an EnvironmentError: [Errno 13] 权限不够: ‘/usr/local/python/lib/python3.6/site-packages/numpy-1.19.2.dist-info’
Consider using the --user option or check the permissions.

You are using pip version 18.1, however version 20.2.3 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.

最终解决方法
奶奶个腿的
修改python配置文件
修改
Python-3.6.8包下的setup.py文件。也就是输入./configure …的地方,修改成下列的样子,改成自己的路径。

search_for_ssl_incs_in = [
‘/usr/local/openssl/ssl/include’,
‘/usr/local/openssl/ssl/include/openssl’
‘/usr/contrib/ssl/include’
]

修改/Python-3.6.8/Modules下的Setup.list文件
改成下边的样子,只需要改路径。

SSL=/usr/local/openssl/ssl

终于 成功了 还有点小问题
就是在运行pip 的时候会报一个权限问题, 按照提示所说加个 --user就可以啦
例如 pip install --user opencv-python