python3.9运行程序出现这种问题怎么解决?

听说用uvloop替换python自带的asyncio的事件循环,协程效率至少翻一番?饶有兴致的下了这个第三方模块。结果执行代码半路就报错,抛出NotImplementedError异常,一脸懵逼的我百度了一会也没找到答案。

uvloop是MagicStack的一个开源项目,我猜测可能是Python3.9刚出来目前还不支持吧,本想去git上向他们反映一下,没想到早就有大佬提了issus
我发现下Python3.9就是个错误的选择,本来在Linux上的编译安装就比较麻烦,还要解决一大堆依赖问题。前不久才费尽心思搞定了Scrapy的安装。能跑爬虫已经是不错了,这种问题也就忍了吧。希望uvloop能及时升级。

1. 问题描述+方案可行性评估

Now,要实现预期目标有两种解决方案:

  1. 直接在原机基础上对Python执行降版本操作,(即:重新配置一套Python环境,该方法显然兼容性不高,故放弃~)
  2. 在原机上安装Anaconda,新建一个虚拟环境,另外配置【Python3.7+TensorFlow1.14+Keras2.4】的运行环境,相当于和原来的Python3.9运行环境做了“沙箱隔离”,后期可以根据需要启动不同的Python环境,运行不同需求的代码。该方法的兼容性好,因此,综合评估后选用该方案实现在同一个本地机配置不同的Python运行环境。

Question: 在已安装了Python3.9运行环境的Mac本地机上再装Anaconda,是否会引起Python的版本冲突,是否会【自动格式化本地的Python3.9运行环境+第三方库】?

Answer: 不影响,因为Anaconda和原机的Python是并行的,因此并不会冲突,不过亲测部分第三方库会受影响,但已配置好的Python3.9+Jupyter Notebook等并未受任何影响。

  1. 下载完毕,点击安装,之后一直点“继续”【类似其他APP安装】,其中有一项需勾选【仅允许本账号】or【所有账号】,我选的是【仅允许本账号】;另外,安装路径需要选择一下,我直接选默认路径,其他照提示操作即可。最后,提示安装完毕。

  2. 查看miniconda是否安装成功,在终端执行命令conda -V 或者conda --version检测是否安装成功,若成功会打印conda的版本号,如下图:

5. 创建一个虚拟环境,并安装指定版本Python

  1. 在终端启动自定义的虚拟环境
  1. 切换到其他环境,比如base
  1. 查看当前所有的虚拟环境
  1. 利用conda安装指定python版本,可以间接实现Python的降版本操作。
  1. 利用conda安装第三方库
//如果通过conda install XXX安装不成功,则可能是conda未提供相关的第三方库资源,此时可以在已开启的虚拟环境下改用命令pip install XXX实现【conda虚拟环境下默认pip是对应Python3的,无需特意指明pip3】
  1. 删除环境(慎重!!!

上述操作,仅实现了在同一台本地机上配置不同版本的Python运行环境,但后期还涉及大量的代码调试工作,直接在终端通过ptyhon xxx.py运行文件,显然无法满足分段调试运行的需求,因此需引入类似Sublime Text的第三方编译器便于代码调试、执行。

  1. 在新打开的页面中将如下内容:

2. 替换为如下内容,并重命名保存文件:

  • 重命名保存文件时,【自定义的文件名必须有标识性,便于后续启用不同Python环境时可以轻松识别】,例如:我的根据需求自定义为py37tf114.sublime-build
  1. 关闭Sublime Text3,再重新进入 Sublime Text3,再点击Tools→Build System你就可以看到配置好的编译系统了,例如:py37tf114,【勾选刚自定义好的编译系统】即可启动相应配置路径下的Python运行环境。
  1. 运行需要激活conda 虚拟环境:
  1. 选择激活环境后可以弹出环境列表,选择需要的环境,如:py37tf114。

  2. 代码写好后,快捷键command + b即可执行自己的代码;

  3. b,且较它高级,因为可以实现交互调试)

我要回帖

更多关于 python软件怎么运行 的文章

 

随机推荐