GDSFactory环境配置(PyCharm+Git+KLayout)

1、安装 PyCharm 和 KLayout

安装 PyCharm(官网社区版即可)和 KLayout(官网最新版),这两款软件均开源,安装操作简单,这里不再赘述。(注意:PyCharm软件是否安装成功以能否正常运行Python代码为准,网上的视频教程很多,建议跟着视频教程进行配置)

2、安装 Git

安装 Git,去 Git 官网下载安装包,具体的安装操作可以参照下面的视频教程:

给傻子的Git教程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Hkr7YYEh8/?spm_id_from=333.337.search-card.all.click&vd_source=acff200eb67c909bc09a083de5b25294

重要的是一定要配置 Git 的用户名和邮箱信息,直接键盘 Win+R 进入系统终端,分别运行以下两行代码:将"runoob"替换为"你的用户名",test@runoob.com 替换为你的 GitHub 账号注册邮箱(没有 GitHub 账号就去注册一个)。

bash 复制代码
git config --global user.name "runoob"
git config --global user.email test@runoob.com

3、安装 KLayout 插件

安装 KLayout 插件,该插件是用于 PyCharm 中写代码,并在 KLayout 中实时展示。注意一定不要采用 KLayout 软件中的插件安装入口安装,会安装错误,原因就是网络问题。应该采用以下步骤进行安装:

(1)找到你的 KLayout salt 目录

电脑路径是:

bash 复制代码
C:\Users\***\KLayout\salt 

(2)下载需要的插件

在浏览器里下载(如果下面的下载链接失效,就去问 ChatGPT):

metainfo-ports ZIPhttps://github.com/gdsfactory/metainfo-ports/archive/refs/heads/main.zip

klive ZIPhttps://github.com/gdsfactory/klive/archive/refs/heads/main.zip

generic_tech ZIP(gdsfactory PDK)https://github.com/gdsfactory/gdsfactory/archive/refs/heads/main.zip

(3)将解压缩并重命名

  • 把 metainfo-ports-main 改名为 metainfo-ports
  • 把 klive-main 改名为 klive
  • 把 gdsfactory-main/gdsfactory/generic_tech/klayout 这个文件夹拷贝出来命名为 gdsfactory

最终文件目录应该长这样:

bash 复制代码
C:\Users\***\KLayout\salt\metainfo-ports 
C:\Users\***\KLayout\salt\klive 
C:\Users\***\KLayout\salt\gdsfactory

(4)验证是否安装成功

在 KLayout 的菜单栏里应该出现 gdsfactory 的菜单项。

4、配置 PyCharm

在 PyCharm 中新建一个 Python 工程,建议命名为 gdsfactory 或者你的项目名称,因为要在这个工程的虚拟环境下下载 gdsfactory 包,也就是以后写代码都要在这个工程下写。

(1)确认你在 PyCharm 里使用虚拟环境

打开 PyCharm → File → Settings → Project: xxx → Python Interpreter

看看是不是指向类似:

bash 复制代码
...\venv\Scripts\python.exe

(2)用 pip 安装 gdsfactory

在 PyCharm 的终端 (Terminal) 输入:

bash 复制代码
pip install gdsfactory

5、检验是否配置成功

将KLayout软件打开,在配置好的 PyCharm 环境下,运行以下代码:

python 复制代码
import gdsfactory as gf

c = (
    gf.Component()
)  # Create a blank component (essentially an empty GDS cell with some special features)
p1 = c.add_polygon([(-8, -6), (6, 8), (7, 17), (9, 5)], layer=(1, 0))
c.write_gds("demo.gds")  # write it to a GDS file. You can open it in klayout.
c.show()  # show it in klayout

如果PyCharm软件没有报错,KLayout软件出现下面的版图:

则说明环境配置成功。

6、出现未知报错

如果出现一些未知的报错,建议直接把报错信息复制到ChatGPT中,根据提示解决问题。

如果根据本教程进行环境配置出现问题,欢迎评论交流,笔者会尽量尽快答复。

相关推荐
hui函数1 小时前
Flask电影投票系统全解析
后端·python·flask
锐策3 小时前
Git checkout 与 Git reset 核心区别解析(分支与版本关联逻辑)
运维·git
闲人编程3 小时前
Python第三方库IPFS-API使用详解:构建去中心化应用的完整指南
开发语言·python·去中心化·内存·寻址·存储·ipfs
计算机编程小咖4 小时前
《基于大数据的农产品交易数据分析与可视化系统》选题不当,毕业答辩可能直接挂科
java·大数据·hadoop·python·数据挖掘·数据分析·spark
.Shu.4 小时前
git实战(7)git常用命令速查表
大数据·git
zhangfeng11335 小时前
以下是基于图论的归一化切割(Normalized Cut)图像分割工具的完整实现,结合Tkinter界面设计及Python代码示
开发语言·python·图论
flashlight_hi6 小时前
LeetCode 分类刷题:2529. 正整数和负整数的最大计数
python·算法·leetcode
Ashlee_code6 小时前
香港券商櫃台系統跨境金融研究
java·python·科技·金融·架构·系统架构·区块链
wniuniu_6 小时前
git增加ignore文件
git