网站建设资讯

NEWS

网站建设资讯

Python版本低导致Pip无法使用怎么解决-创新互联

今天就跟大家聊聊有关Python版本低导致Pip无法使用怎么解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

邹平ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

终于下决心把python从2.7升到了3.7。懒人安装当然使用Anaconda。

安装成功,编译成功。但是用pip 安装包的时候提示:

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

原因是python3.7为了安全性考虑,要求使用openssl 1.0.2之后的版本。但是自带的openssl,版本是1.0.1。

解决办法:

重装一下openssl

进入

Anaconda Prompt:

conda install -c anaconda openssl

就一切解决了哈啊哈!完美!

补充知识:Python3使用multiprocessing多进程模块共享变量

在使用Python用CPU跑一个人脸识别的模块,神经网络的计算比较耗时,因为Python GIL的限制,因此这里使用多进程来并行跑数据集。

在多个进程之间共享简单变量

有很多张人脸图片,现在使用8个进程来分别对人脸图片进行识别,但是要知道总的进度和正确率,因此这里要在各个进程之间共享变量。这里需要的只是整型无符号变量。

在对总的进度和准确率进行计算的时候要加锁,防止别的进程改变

在使用 print输出的时候要加锁,因为控制台也是资源,要防止抢占

加锁了之后要记得释放锁

假设8个进程共识别了count张图片,然后正确的图片有correct张。思路如下:

在主进程中声明要共享的count和correct变量,初始化进程的时候传入

在各个进程中识别一张图片count就自增1,识别正确的话correct也要自增1,自增的时候要加锁

控制台输出相关信息的时候也要加锁

# l代表长整型无符号变量
count = multiprocessing.Value('l', 0)
correct = multiprocessing.Value('l', 0)
lock = multiprocessing.Lock()

# 要运行的函数为run(),lis为划分给每个进程的识别图片列表
p = [multiprocessing.Process(target=run, args=(lock, i, count, correct)) for i in lis]

for i in p:
  i.start()
for i in p:
  i.join()

网站标题:Python版本低导致Pip无法使用怎么解决-创新互联
网址分享:http://cdweb.net/article/cchceh.html