写这个是因为我换了新的电脑,新电脑不知道到底出了什么差错总是装不成功。
终于!在我的努力下搞定了!留个记录,一方我下次要安装。
首先,下载visual studio 2017,拒绝2022,2022总是配置不成功不知道为啥。
然后配置环境变量,配置账户的环境变量就可以,添加了三种,PATH,LIB,INCLUDE。后两个要自己创建。
(我是写给自己看的,要是有其他迷茫的朋友看到了这个,把下面的改成你们自己的路径就好了)
PATH
D:\program filesD\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86
LIB
D:\program filesD\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\lib\x86
D:\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
windows kits 8.1不知道干嘛还是在C盘记得去C盘找(ps:2022没有8.1我怀疑这就是我失败的原因)
INCLUDE
D:\program filesD\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include
D:\Windows Kits\10\Include\10.0.17763.0\ucrt
然后 win+R 到cmd 输入cl看看成功没
接下来装anaconda(这次不知道为什么处理成只有管理员可以写入了,下次要注意)
装完之后一定要创建新的环境去下载pystan,pystan在3.7才行
在anaconda打开anaconda prompt,依次执行
conda update conda
conda create -n py37stan2 -c conda-forge python=3.7 numpy scipy pandas matplotlib seaborn notebook pystan=2.19.1.1 arviz
然后
conda activate py37stan2
打开虚拟环境下的jupyter输入
>>> import distutils
>>> print(distutils.__file__)
得到 distutils的地址之后,打开那个文件夹,找到叫distutils.cfg的文件,有的话把里面的内容改成
[build]
compiler=mingw32
没有的话就自己创建,这个文件可以通过visual studio code保存和更改。用记事本需要改后缀,而且之前不成功不知道和记事本有没有关系(建议还是用visual studio code,不要折磨自己)
最后我就成功了。
成功之后就不要乱动了!!!
anaconda安装包时可能会出现没有写入权限的报错,要么以管理员打开,还不行的话把写入包的文件修改权限,改成所有人可写入。
用pystan的时候都要用新环境打开才行,pystan测试代码如下
import pystan
model_code = 'parameters {real y;} model {y ~ normal(0,1);}'
model = pystan.StanModel(model_code=model_code)
y = model.sampling().extract()['y']
y.mean() # with luck the result will be near 0
参考链接https://github.com/CU-BDA-2022/LabResources/blob/main/PyStanForBDA.md
感谢这位国外不知名老师,拯救了苦苦挣扎的我。