在stata的特定虚拟环境中使用python?

whlutmcx  于 2023-10-21  发布在  Python
关注(0)|答案(1)|浏览(154)

大家好,我试图在一个项目中执行一些Python代码,其中大部分代码都在Stata中。该项目有自己的虚拟环境,我只安装了我真正需要的Python包。有没有一种方法可以从Stata激活这样的虚拟环境,以便能够在Stata中运行我写的Python代码?谢谢你

cs7cruho

cs7cruho1#

你告诉Stata哪个Python可执行文件在你的do文件的开头运行,python set exec [path]是你的特定环境中Python可执行文件的路径。
例如,它可能看起来像这样:

python set exec "C:\Users\guido\anaconda3\envs\myenv\python.exe"

如果您的环境名为myenv
一旦Python初始化,IIRC Stata就不会让你重新设置Python的位置,所以如果你没有重新启动就重新运行,上面的代码会抛出一个错误,所以为了解决这个问题,你可以这样做:

* Set python executable to virtual environment unless already initialized in correct location)

local pypath C:\Users\guido\anaconda3\envs\myenv\python.exe

python query
if r(initialized) == 1 {
    assert "`r(execpath)'" == "`pypath'"
}
else {
    python set exec "`pypath'"
}

相关问题