Meep是一个基于时域有限差分(finite-difference time-domain, FDTD)方法进行电磁仿真的免费开源软件包,应用范围广泛。

安装环境准备

Windows下安装meep,还是需要安装类Linux系统。我(win10系统)采用的是:安装Ubuntu app;win8及以前的系统可以安装Cygwin。
1.在安装ubuntu app之前需要在控制面板中,找到程序与功能,然后启用“启用或关闭windows功能选项卡”中的适用于linux的windows子系统,如下图:

2.打开Microsoft Store,搜索 Ubuntu,安装


安装好之后如下图所示:

双击打开,等待Linux系统安装完成,会要求输入username,注意一定以小写字母开头,然后是密码。

安装miniconda

打开刚才安装好的ubuntu ,输入下面的命令,该命令是将miniconda下载到本地的当前目录,然后需要安装它。

wget https://repo.continuum.io/miniconda/Miniconda3-latest_Linux-x86_64.sh -o miniconda.sh

接着输入如下命令,安装miniconda

bash Miniconda3-latest-Linux-x86_64.sh

运行结果如下图所示:

接下来一直enter,直到询问接收license terms时,输入yes,如下图所示:

询问安装位置,一般来说,按enter选择默认位置即可。(我安装的时候好像不小心点到哪里了,就换了一个安装位置)

询问是否对刚才的安装文件夹初始化(我这个描述可能不太准确),yes即可

此时应该默认加入了环境变量,可以尝试

which python

我的没有反应

上网查了以后,解决方法如下,输入如下命令:

export PATH=/home/ubuntu系统的用户名/miniconda(前面询问安装位置的时候如果没有修改的话就是这个)/bin/:$PATH

在使用which python命令就可以看到Python的路径了

安装meep

为了不影响其他的功能,我们安装在虚拟环境”mp”中,输入如下命令:

conda create -n mp -c conda-forge pymeep

我又又又报错了(鲨了我吧)

上网查了一下,默认镜像源访问速度过慢,会导致超时从而导致更新和下载失败。解决方案:更换镜像源为清华镜像源,并且删除默认镜像源。
在**用户根目录(C:\Users\用户名)**下找到.condarc文件,打开将原有内容替换成如下代码:

channels:- defaults
show_channel_urls: true
default_channels:- http://mirrors.aliyun.com/anaconda/pkgs/main- http://mirrors.aliyun.com/anaconda/pkgs/r- http://mirrors.aliyun.com/anaconda/pkgs/msys2
custom_channels:conda-forge: http://mirrors.aliyun.com/anaconda/cloudmsys2: http://mirrors.aliyun.com/anaconda/cloudbioconda: http://mirrors.aliyun.com/anaconda/cloudmenpo: http://mirrors.aliyun.com/anaconda/cloudpytorch: http://mirrors.aliyun.com/anaconda/cloudsimpleitk: http://mirrors.aliyun.com/anaconda/cloud

如果找不到.condarc的可以自己创建一个,但是千万不要动安装路径下(如下)的condarc(不要问我为什么知道,都是血的教训!)

C:\Users\电脑用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\ubuntu系统用户名

如果有出现这种情况(就不管输入什么命令都只出现[y/N],再输入y也没用。)可能就是和我一样动了安装路径下的condarc文件,赶紧改回来。

言归正传:保存好之后重新在ubuntu中输入安装在虚拟环境中的那条指令,成功啦!

接下来激活虚拟环境

conda activate mp

可以看到,命令前面出现了(mp)

测试是否成功

打开python,加载meep库

它又报错了!
查了一下,问题可能在:


检索so.6,但是安装路径下只有so.7
试图强行安装

conda install libctlgeom.so.6


失败了,大概意思应该是清华的镜像源找不到这个文件。特意查了一下:
4 个 Anaconda 国内开源镜像站
通过如下代码添加镜像源:(前面默认镜像源访问速度过慢导致下载失败的错误也可以用下面这种方法更换镜像源)

# 添加
conda config --add channels https://xxxxxxxxxxxx
conda config --set show_channel_urls yes
# 查看效果
cat ~/.condarc

添加好之后再一次尝试conda install libctlgeom.so.6,以失败告终

我没辙了。。。。。。。(写于2021.12.4)
2021.12.5更新
睡了一觉起来打开电脑,继续尝试import,它居然换了个错误

上网查了一下产生报错的原因可能有:当前文件被占用了、用户没有访问权限、打开目标不是文件
解决方案:检查打开的是否位文件,Linux中用“/”表示路径,Windows中用“\”表示路径,即是否多加了斜杠;文件是否被占用,如打开文件后没有关闭,即 变量.close();亦或者检查文件是否存在,及用chmod命令修改用户权限。
我最后采用的方法是找到该文件所在的文件夹,右键属性查看属性状态,不要选择只读

重新import,无效。
又询问一些热心网友,可能是python版本不对,我看了一下:


meep环境中(3.6.15),miniconda环境下(3.9.5),windows系统下(3.6.8)的python版本都不同
于是试图通过如下指令在miniconda环境下安装3.6版本的python

conda create -n py36(这个名字可以自己取) python=3.6

然后在
C:\Users\电脑用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\Ubuntu系统用户名\Miniconda3\envs
这个路径下出现了py36的文件夹。使用conda info命令却发现python的版本仍然是3.9(鲨了我吧)
最后!
有人建议我重装meep,那行吧
先关闭conda环境

conda deactivate

再卸载mp

conda remove --name mp --all


重新安装meep,激活mp环境,打开python,import,没有报错了!

可以看到重装以后的python是3.9版本的。前面出问题应该就是这个原因。
ps:如果不重装meep,而是在激活mp环境没问题以后,输入python3.9,然后import,会不会实现重装同样的效果呢?有兴趣的小伙伴可以尝试一下

一点感慨

装这个装了五天,虽然不是完完整整的五天,但是中间真的很崩溃,怀疑人生的那种。所以我就想着一定要把我踩过的坑记下来,尽可能多帮到一些小伙伴。文中如果表述不正确的地方欢迎大家指出。

Meep基于windows系统安装相关推荐

  1. KingbaseES V8R3(人大金仓)基于Windows的安装文档

    上一篇文章中介绍了人大金仓数据库软件的下载,这次来介绍一下基于Windows系统的安装. 目录 1. 准备软件安装包和授权 2. 安装软件 2.1 首先安装vcredist2013_x64.exe 2 ...

  2. 基于Windows 2008 R2 Core的SQL Server 2008 R2 Cluster部署(Step by Step)

    1. 简介 基于Core系统安装SQL Server有几个好处 Core没有图形化界面,尤其是没有Explorer进程使得系统更稳定,同时也减少了被黑风险 Core只有关键性的进程,避免开启过多程序导 ...

  3. 虚拟机配置与管理打印服务器,Fedora 28 打印机配置 ( HP pro 1136M ,基于Windows 打印服务器使用 smb 协议)...

    Fedora 28 本身是没有打印服务的.我们需要安装下列软件: System-Config-Printer Common Unix Printing System - CUPS samba 安装好后 ...

  4. android源码下载方法 批量下载 基于windows os

    安装win版的Gitbash, 在这里 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe. 选择默认安装路径(否则 ...

  5. logicaldoc 6.5 结合postgresql 9.x安装部署—基于windows平台

    2019独角兽企业重金招聘Python工程师标准>>> 湘中朱生   2012年9月于深圳 说明:原创内容,请勿转载! <1> 从官网下载部署包 官方网站提供源码包和集成 ...

  6. 《基于Windows 7特性的程序开发系列》视频分享

    前一阵录制了<基于Windows 7特性的程序开发系列>视频课程,主要针对WinForm.WPF 开发具有Windows 7 特性的程序.现已发布到MSDN Webcast 欢迎大家拍砖. ...

  7. TensorFlow学习笔记(一)--windows系统安装配置

    1.关于Tensorflow 国际惯例,先来个总体的简要介绍,摘自一个很强大的TensorFlow中文学习网站(http://www.tensorfly.cn/)的简介 TensorFlow™ 是一个 ...

  8. 《Excel 职场手册:260招菜鸟变达人》一第 1 招 快捷键的妙用(基于Windows操作系统)...

    本节书摘来异步社区<Excel 职场手册:260招菜鸟变达人>一书中的第1章,第1节,作者: 聂春霞 , 佛山小老鼠 责编: 王峰松,更多章节内容可以访问云栖社区"异步社区&qu ...

  9. postgresql主从备份_基于windows平台的postgresql主从数据库流备份配置

    基于windows平台的postgresql主从数据库流备份配置 因工作需要,需要搞pg数据库的主从备份,领导给了个方向使用流备份,于是开始朝着这个方向进发. 鸣谢大佬A_ccelerator的博客 ...

最新文章

  1. Python处理多行文本问题--一个简单方法读取多行fasta文件
  2. java项目集成mybatis_JAVA应用程序单独集成Mybatis使用Demo
  3. 远程连接spark_spark内部原理篇之计算引擎和调度管理
  4. 脑电图伪差去除matlab,脑电图伪差的识别方法.ppt
  5. oracle数据库存储ip地址,oracle – 以十进制形式存储的IP地址 – PL / SQL以虚线四边形显示...
  6. java模拟器百度_Java模拟实现百度文档在线浏览
  7. 面向对象设计原则之1-单一职责原则
  8. Spring Boot 2.x 自定义数据源 DruidDataSource(操作 mysql 数据库)
  9. Arcgis学习视频教程
  10. 第二讲:PN结与二极管的特性
  11. 如何把二维表转成一维表
  12. 【重识云原生】第一章——不谋全局不足以谋一域
  13. java 字符串中判断字母大小写方法
  14. 三十六 我在软件园的那些日子里
  15. 上饶师范学院计算机科学与技术专业就业前景,上饶师范学院毕业生就业质量年度报告.PDF...
  16. 如何用ajax实现页面自动刷新,Ajax实现页面自动刷新实例解析
  17. 工业通讯 | STM32F4xx应用控制器与SoM集成
  18. android 摇杆控制方向键,Android Studio中实现摇杆
  19. HP L380 G9 centos系统安装
  20. 学习Python中turtle模块的基本用法(4:绘制科赫曲线和谢尔宾斯基三角形)

热门文章

  1. php 繁体自动转简体,繁体中文转换为简体中文的PHP函数
  2. 蓝牙电话之PBAP同步电话簿的安卓实现
  3. 纯HTML+CSS+Jquery实现的修改密码框(密码强度动态验证,再次确认验证,密码长度动态显示)均实现,可直接运行使用
  4. 开发日记2021-17、20周
  5. java 构造方法特点_简述 Java 中构造方法 的概念及特点。_市场营销知识答案_学小易找答案...
  6. 由被WebInspect***引发的php header()使用问题
  7. php 读取指定路径照片,必应每日图片合集程序之php读取指定目录图片
  8. flutter 配置charles抓包
  9. Multisim电路仿真与面包板的使用
  10. 基于消息中间件解决分布式事务的开源框架Myth