如何在Windows上安装Python for .NET
本文关键字:Python for NET 安装 Windows | 更新日期: 2023-09-27 17:56:48
我下载了 Python for .NET.
zip内部是clr.pyd
、nPython.exe
、Python.Runtime.dll
和2个调试数据库文件。
我把 clr.pyd 和 Python.Runtime.dll 放在我的 python DLL dir C:''Python27''DLLs 中,认为这就是安装所需的全部内容。然后我打开Python GUI并键入import clr,我得到:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import clr
SystemError: dynamic module not initialized properly
刚接触python,但不是.NET,并且想使用CPython而不是IronPython。此安装中缺少什么?Python for .NET 的自述文件说有一个 Windows 包的安装,但我找到的只是 zip 文件。
在 Python 中加载 CLR 的正确方法是这样的:
- 确保 Python 安装文件夹中没有 Python.NET 遗留旧的东西(例如 C:''Python27)。就我而言,我在其中一个文件夹中有遗留
clr.pyd
。请注意,某些旧版本的 pip 并未删除 Python.NET 的所有部分。 - 将包含 Python.NET 文件(
clr.pyd
和Python.Runtime.dll
)的目录附加到sys.path
现在,您可以以最灵活的方式加载CLR,甚至无需安装到Python目录!
你可以从 github 上的源代码编译:
pip install git+https://github.com/pythonnet/pythonnet
或使用Christoph Gohlke的Windows轮子/安装程序:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonnet
PyPI 软件包可从 pip 安装:
https://pypi.python.org/pypi/pythonnet
这里列出了更多安装选项,如docker,WinPython,conda,nuget,choco:
https://github.com/pythonnet/pythonnet/wiki/Installation
安装 Python for .NET 的正确方法是将所有文件从.zip复制到包含.py文件的目录中。
然后,如果您执行
python yourfilename.py
您应该发现您的"导入 CLR"语句有效。我已经使用python 2.7 x86和pythonnet-2.0-Beta0-clr4.0_140_py27_UCS2_x86.zip对此进行了测试
。我只需将 clr.pyd 文件复制到我的工作目录中即可复制您的错误。
请注意,我无法在Python 3.3 x86或Python 3.3 x64中完成这项工作
我实际上在这里自己动手,创建了一个 Python.Net 巧克力包装。要安装,只需运行
Cinst Pythonnet
在命令行中。也许这将帮助用户在运行它时遇到问题。
为什么,但我能让它工作的唯一方法是将这 3 个文件直接复制到 C:''Python27'' 目录中。
如果您打算使用 py2exe 或 pyinstall 冻结,请务必安装 dev 版本。当与py2exe,pyinstaller和其他冰柜打包时,2.0.0版本有问题。但是 2.1.0.dev1 效果很好。所以。。。
pip install --pre pythonnet
您必须将pythone.runtime.dll添加到捆绑包中(请参阅首选捆绑器的文档)。使用 bundle_files:1(单个 exe)时,py2exe 加载 dll 的方式也存在问题。