为在python中使用dotnet程序安装clr

直接在命令行中录入

pip install pythonnet

会有一个ssl错误提示

...Could not fetch URL https://pypi.python.org/simple/pythonnet/: There was a problem confirming the ssl...

 只好下载后再安装,下载地址

https://pypi.org/simple/pythonnet/

我的python是2.7的32位,于是下载了

pythonnet-2.3.0-cp27-cp27m-win32.whl

直接放在D盘,在命令行转到D盘,执行以下命令

pip install pythonnet-2.3.0-cp27-cp27m-win32.whl

安装成功,可以import clr啦:)

 vs.net2017也可以新建python项目,我在其上安装的是python3.6,且是64位的,这很有意思,命令行默认是2.7的,vs.net里跑的是3.6的,太方便了。vs.net2017的3.6安装clr就太方便了。

录入组件名称,点击运行pip...

好了,帖一段python里打开wpf的程序的代码,代码来自这个地址

https://blog.csdn.net/soloman817/article/details/6788830

复制代码
import clr
clr.AddReference("PresentationFramework.Classic, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
clr.AddReference("PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
from System.Windows import Application
from System.Windows import Window
from System.Threading import Thread
from System.Threading import ApartmentState
from System.Threading import ThreadStart 

def AppStartUp(sender, e):
    mainWnd = Window()
    mainWnd.Title = "WPF From PythonNet!"
    mainWnd.Show() 

def STAMain():
    app = Application()
    app.Startup += AppStartUp
    app.Run()

def main():
    t = Thread(ThreadStart(STAMain))
    t.ApartmentState = ApartmentState.STA
    t.Start()
    t.Join()

if __name__ == "__main__":
    main()
View Code
复制代码

 

posted @   生命体验之kevin-Y  阅读(7135)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2008-01-07 javascript 改变框架内网页的CSS
点击右上角即可分享
微信分享提示