ImportError:使用python.org的CPython时,没有名为clr的模块 我编写C++代码,应该调用下面的Python脚本。 为此,我使用了的cpython。 一些python脚本在Pythonfor.net的帮助下执行.net代码,当涉及到.net时,所有这些都失败了。 我尝试构建测试应用程序来验证失败的地方,发现它无法导入clr模块

ImportError:使用python.org的CPython时,没有名为clr的模块 我编写C++代码,应该调用下面的Python脚本。 为此,我使用了的cpython。 一些python脚本在Pythonfor.net的帮助下执行.net代码,当涉及到.net时,所有这些都失败了。 我尝试构建测试应用程序来验证失败的地方,发现它无法导入clr模块,python,.net,clr,cpython,python.net,Python,.net,Clr,Cpython,Python.net,当我运行这段代码时,它给了我一个提示:没有名为clr的模块 Py_Initialize(); PyRun_SimpleString("import clr"); 如果我转到python控制台并键入“importclr”,一切正常。 我还检查了sys.path,它包含clr.pyd所在的文件夹“C:\Python27\DLLs”。 我还尝试通过C++设置路径: char* path = "C:\\Python27\\dlls"; Py_Initialize(); PySys_SetArgv(1,

当我运行这段代码时,它给了我一个提示:没有名为clr的模块

Py_Initialize();
PyRun_SimpleString("import clr");
如果我转到python控制台并键入“importclr”,一切正常。 我还检查了sys.path,它包含clr.pyd所在的文件夹“C:\Python27\DLLs”。 我还尝试通过C++设置路径:

char* path = "C:\\Python27\\dlls";
Py_Initialize();
PySys_SetArgv(1, &path);
char* phome = Py_GetPythonHome();
但这没用。此外,我不明白为什么clr模块与其他编译模块一样显示为clr.pyd而不是.pyc

有人能解释一下为什么导入clr会通过CPython失败吗?
有可能使其工作吗?

您需要在
Py\u Initialize
之后调用
PySys\u SetArgv
以适当地更改系统路径。

要安装clr,您必须安装pythonnet库

您可以使用以下命令安装pythonnet

 pip install pythonnet

我在一个具有多个python版本的代理服务器后面工作。 我有一个bat文件,当我需要一个新模块或希望更新一个现有模块时,我会更新它。 第一行设置我希望更新的版本的路径 bat文件从脚本目录运行。 端口为“9.254.0.1:81”的代理IP


此错误最常见的原因是多个Python安装可能(也可能不是)属于(Windows)系统PATH变量。启动Powershell时,它将使用该路径,具体取决于:

  • 订单放置在(Windows)系统路径中。
    (你的Python 3.7排在Python 3.8之前吗?)
  • 如果安装了其他Python解释器,例如:
    conda
    miniconda3
    等,它们有自己的路径
  • 然后,当您执行
    pip安装pythonnet
    时,软件包将安装在系统软件包位置,具体取决于您使用的是哪个pip。用
    pip-V
    检查

    例如
    如果您发现默认shell以激活的
    conda
    开始,则需要在执行
    pip安装之前执行
    conda deactivate

    (基本)$pip-V
    来自c:\users\xxxx\miniconda3\lib\site-packages\pip(python 3.7)的pip 20.2.4
    (基数)$康达
    $pip-V
    c:\python38\lib\site-packages\pip(python 3.8)中的pip 20.2.4
    
    尝试过,但没有任何结果。我用更多的细节更新了我的帖子。为我工作。谢谢
    SET path="C:\Programs\Python\Python3_64"
    pip install --proxy="9.254.0.1:81" --upgrade pip
    pip install --proxy="9.254.0.1:81" pythonnet