gdsfactory安装以及和klayout联调
目录
1.首先安装klayout的软件
2.根据这个对应版本创建对应虚拟环境和安装对应版本库
3.在klayout安装对应插件
方法一:通过 KLayout 包管理器安装 (尝试失败的方法)
方法二:手动安装
方法三:一行命令
运行效果
有miniconda等配置好的python大环境,可以创建虚拟环境以分割不同项目环境
1.首先安装klayout的软件
最好安装最新版,对应网站:KLayout Layout Viewer And Editor
下载完成后,我们使用 dpkg 命令来安装这个 .deb 包。
# 请将文件名替换为您实际下载的文件
sudo dpkg -i klayout_0.29.0-1_amd64.deb
Ubuntu 20.04中系统太老,您手动安装的新版KLayout在启动时,需要一个名为 libgit2.so.28
的系统文件,但在您的系统中找不到它。
在Ubuntu 20.04中,这个文件包含在名为 libgit2-28 的包里。
sudo apt install -y libgit2-28
在终端输入klayout启动
2.根据这个对应版本创建对应虚拟环境和安装对应版本库
一定要安装对应版本,要不可能出现klayout调不出来等诸多问题
Python版本安装3.11往上
# 激活您的环境
conda activate gdsfactory
# 确保您在 (gdsfactory) 环境中
pip install gdsfactory
查看版本命令
pip list | grep gdsfactoryklayout -v
3.在klayout安装对应插件
(使用方法三,最佳推荐,其他两个方法都失败)
方法一:通过 KLayout 包管理器安装 (尝试失败的方法)
这个方法理论上最简单,直接在 KLayout 图形界面中完成。
正确流程:
打开 KLayout。
点击菜单栏的 Tools -> Manage Packages。
在 Install New Packages 标签页的搜索框中输入 gdsfactory。
在搜索结果中找到 gdsfactory,并勾选它。
点击 Apply 按钮,KLayout 会自动下载并安装。
安装失败的常见原因分析:
网络问题: KLayout 可能无法连接到 Salt/PyPI 服务器。这可能是由于公司防火墙、代理设置或网络不稳定导致的。
权限不足: KLayout 可能没有足够的权限在目标文件夹中写入文件。可以尝试使用管理员权限启动 KLayout。
Python 环境依赖问题: KLayout 自带的 Python 环境可能缺少 pip
或者其他必要的依赖库,导致无法完成安装。
版本不兼容: 包管理器中的 GDSFactory 版本可能与您的 KLayout 版本或其内置的 Python 版本不兼容。
方法二:手动安装
如果你之前使用了方法一,在您的终端中,依次运行以下三条 rm (remove) 命令,来彻底删除这些残留文件和之前不完整的链接。
rm -rf /root/.klayout/salt/gdsfactoryrm -rf /root/.klayout/salt/metainfo-portsrm -rf /root/.klayout/salt/klive
第一步:准备工作
打开终端。
如果您不确定KLayout的配置目录到底在哪里,可以用 find 命令来搜索它。
find ~ -type d -name ".klayout"
进入一个临时下载目录,比如桌面,以保持整洁:
cd ~/Desktop
第二步:手动下载三个必需的仓库
KLayout的安装程序主要需要下载三个来自GitHub的仓库。我们将使用 wget 命令将它们作为 .zip 压缩包下载下来。
下载 gdsfactory:
wget https://github.com/gdsfactory/gdsfactory/archive/refs/heads/main.zip -O gdsfactory.zip
下载 klive:
wget https://github.com/gdsfactory/klive/archive/refs/heads/main.zip -O klive.zip
下载 metainfo-ports:
wget https://github.com/gdsfactory/metainfo-ports/archive/refs/heads/main.zip -O metainfo-ports.zip
下载完成后,您的桌面 (~/Desktop) 上应该会有三个 .zip 文件。
第三步:解压并移动到正确位置(关键步骤)
这是最关键的一步,我们需要将解压后的文件夹重命名并移动到KLayout的 salt 插件目录中。
请依次执行以下命令组:
处理 gdsfactory.zip:
# 解压 gdsfactory.zip, 会生成一个名为 gdsfactory-main 的文件夹
unzip gdsfactory.zip
# 将解压出的文件夹移动到 salt 目录,并重命名为 gdsfactory
mv gdsfactory-main /root/.klayout/salt/gdsfactory
# 删除下载的压缩包
rm gdsfactory.zip
处理 klive.zip:
# 解压 klive.zip, 会生成一个名为 klive-main 的文件夹
unzip klive.zip
# 将解压出的文件夹移动到 salt 目录,并重命名为 klive
mv klive-main /root/.klayout/salt/klive
# 删除下载的压缩包
rm klive.zip
处理 metainfo-ports.zip:
# 解压 metainfo-ports.zip, 会生成一个名为 metainfo-ports-main 的文件夹
unzip metainfo-ports.zip
# 将解压出的文件夹移动到 salt 目录,并重命名为 metainfo-ports
mv metainfo-ports-main /root/.klayout/salt/metainfo-ports
# 删除下载的压缩包
rm metainfo-ports.zip
第四步:最终验证
现在,所有必需的插件文件都已经被我们手动放置在了正确的位置。
完全关闭并重新启动KLayout。
启动后,点击顶部菜单栏的 Tools -> Manage Packages。
在弹出的窗口中,点击 "Current Packages" (当前包) 标签页。
这一次,您应该能看到 gdsfactory, klive, 和 metainfo-ports 都已经出现在已安装的列表中了。
至此,您的KLayout插件已经手动安装成功,所有功能应该都可以正常使用了。请再次尝试运行您的Python脚本 demotest.py,KLayout窗口应该就能正常弹出了。
方法三:一行命令
如果你之前使用了方法一和方法二,在您的终端中,依次运行以下三条 rm (remove) 命令,来彻底删除这些残留文件和之前不完整的链接。
rm -rf /root/.klayout/salt/gdsfactoryrm -rf /root/.klayout/salt/metainfo-portsrm -rf /root/.klayout/salt/klive
(这会彻底删除那些导致冲突的、不完整的旧文件夹和链接)
然后,运行命令:
gf install-klayout-genericpdk
务必保持插件安装成功,否则无法在python中调用klive实时显示服务
运行效果
根据编写代码实时变化