1

我正在尝试使用 Google Colab 安装 MEEP。

!wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
!chmod +x Miniconda3-latest-Linux-x86_64.sh
!bash ./Miniconda3-latest-Linux-x86_64.sh -b -p ./anaconda
import os
os.environ['PATH'] += ":/content/anaconda/bin"
!conda create -n mp -c conda-forge pymeep
import sys
sys.path.append('/content/anaconda/envs/mp/lib/python3.8/site-packages/')

我从这里复制了代码:https ://gist.github.com/venky18/e24df1e55502e2d6523881b3f71c0bff 。
但是,结果显示一条错误消息:

ImportError:/content/anaconda/envs/mp/lib/python3.9/site-packages/meep/_meep.so:未定义符号:PyCMethod_New

如何修改我的代码以正确安装它?

4

1 回答 1

0

这里。这目前有效:

!wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
!chmod +x Miniconda3-latest-Linux-x86_64.sh
!bash ./Miniconda3-latest-Linux-x86_64.sh -b -u -p /usr/local 
import os
if os.path.isdir('/content/anaconda'): root_path = '/content/anaconda'
else: root_path = '/usr/local/'
os.environ['PATH'] += f":{root_path}/bin"
!conda create -n mp -c conda-forge pymeep python=3.7 -y
print(">> ", root_path)
import sys
sys.path.append(f'{root_path}envs/mp/lib/python3.7/site-packages/')

我相信您链接的代码片段的问题是当前 colab python 默认版本是 3.7.12。Conda 现在默认为 3.8。尝试在 3.7 安装中使用来自 3.8 安装的软件包是自找麻烦。添加python=3.7到 conda create 行会强制 conda 使用 python 3.7,因此安装了正确的包。

于 2021-09-28T10:20:03.640 回答