如何在iPython中选择Python 3.7或Python 3.8? - python

我的操作系统是Windows 7

我需要在Python中将TensorFlow与Keras一起使用,但在Python 3.8中尚不能使用。因此,我再次安装了Python 3.7和他的软件包。

在IDE内部,PyCharm很容易。只需在设置中添加另一个解释器即可。因此,当我创建一个项目时,我需要选择正确的解释器。

我还使用iPython进行小型测试。我搜索了所有Stackoverflow,但没有找到在2020年可用的答案。我使用iPython,而不是Jupyter环境。

首先,按照iPython说明在其站点中所述,创建了内核。

python -m ipykernel install --user

它在json中创建一个c:\Users\myname\AppData\Roaming\jupyter\kernels文件

使用iPython -h之后,他告诉我使用kernel子命令:

Subcommands are launched as `ipython cmd [args]`. For information on using
subcommand 'cmd', do: `ipython cmd -h`.

出于动力,我尝试了命令iPython kernel -h。但是我有一个非常混乱的文本。

所以我尝试使用kernel选项,

C:> iPython kernel

它给了我以下信息:

To connect another client to this kernel, use:
    --existing kernel-3404.json

但是,我没有选择正确的内核。

我尝试使用内核文件,但没有成功。

Invalid argument: '--kernel.json'

所以我迷路了,因为在iPython的行命令选项中没有找到关于内核子命令的详细说明。

参考方案

我找到了解决Windows 7中问题的解决方案。我什至不需要ipyKernet软件包。

我已经开始在Python 3.7和Python 3.8中查找iPython.exe文件

c:\Users\myname\AppData\Local\Programs\Python\Python37\Scripts\ipython.exe 
c:\Users\myname\AppData\Local\Programs\Python\Python38\Scripts\ipython.exe 

因此,我制作了以下脚本py.BAT并将其存储在PATH环境变量内的文件夹中(可以使用Control PanelSystemsAdvanced system settingsenvironment variables编辑PATH变量):

@echo off
cd\dropbox\python
if "%1"=="37" goto ip37
if "%1"=="38" goto ip38
if not "%1"== "" goto erro
:ip38
  c:\Users\myname\AppData\Local\Programs\Python\Python38\Scripts\ipython
  goto fim
:ip37
  c:\Users\myname\AppData\Local\Programs\Python\Python37\Scripts\ipython
  goto fim
:erro
  echo Syntax: py 37   - iPython 3.7 
  echo         py 38   - iPython 3.8
  echo         py      - iPython 3.8
:fim

现在这是小菜一碟:

如果我想通过Python 3.7运行iPython

py 37

如果我要通过Python 3.8运行iPython

py  

要么

py 38

当然,我在每个iPython会话中都检查了Python版本:

import sys
print(sys.version)

消息是

3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)]

要么

3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30)[MSC v.1916 64 bit (AMD64)]

任何其他参数

py 40 # e.g.

结果是

Syntax: py 37   - iPython 3.7
        py 38   - iPython 3.8
        py      - iPython 3.8

Python中的内部引用通常不使用PATH环境变量,但是当一个人在shell中使用实用程序作为pip时,会出现问题,因为如果在shell中编写pip,它将在以下位置搜索第一个可执行文件: PATH变量中字符串内容的顺序,通常是最后一个Python版本。

因此,必须在旧的Python版本中将该实用程序复制到同一文件夹中(请不要重命名原始文件),并使用另一个名称(例如:pip.exepi.exe

其他解决方案是临时更改PY.BAT中的path环境变量以及其他任何必要的变量。我还没有做,因为到目前为止一切都很好。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

Python:无法识别Pip命令 - python

这是我拍摄的屏幕截图。当我尝试在命令提示符下使用pip时,出现以下错误消息:pip无法识别为内部或外部命令,可操作程序或批处理文件。我已经检查了这个线程:How do I install pip on Windows?我所能找到的就是我必须将"C:\PythonX\Scripts"添加到我的类路径中,其中X代表python版本。如您在我的…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…