Azure函数在与虚拟环境不同的Python版本中运行

zmeyuzjn  于 2023-10-22  发布在  Python
关注(0)|答案(2)|浏览(152)

我正在尝试在visual studio代码中使用python调试我的azure函数。然而,当我按F5时,我仍然有这个问题:
connect ECONNREFUSED 127.0.0.1:9091

所以我注意到我的azure函数使用的是python版本3.9.7,但我的IDE使用的是python版本3.8.12(虚拟环境),我在那里安装了库。
有人能帮我解决这个问题吗?
我创建了一个新的虚拟环境,并试图将其分配给VS代码,但它不起作用。另外,我尝试用func host start运行函数,但无法调试它。

mkshixfv

mkshixfv1#

您可以在本地安装Python 3.9.7并将其设置为虚拟环境。
你可以用Pyenv来做这件事。查看下面的文档来安装pyenv并创建一个指定python版本的虚拟环境。
https://github.com/pyenv/pyenv
https://realpython.com/intro-to-pyenv/
或者,您可以使用apt安装特定的python版本。查看下面的帖子,并将python版本替换为您希望使用的版本。https://askubuntu.com/questions/682869/how-do-i-install-a-different-python-version-using-apt-get
这样,如果你安装了python 3.9,那么你可以只执行python3.9 -m venv venv,这将创建一个名为venv的虚拟环境,使用python版本3.9.x。
你可以在那里重新安装你的库,然后再次尝试运行你的代码,它将在3.9.x上运行。

bvk5enib

bvk5enib2#

我也有同样的问题。我为两个不同的项目安装了两个版本的Python,3.10.11和3.11.1。然而,3.10.11是用来在azure func项目中创建虚拟环境的。当我激活我的虚拟环境并执行python -V时,我可以看到版本是3.10.11。
当我尝试启动azure函数应用程序时,它报告“Found Python version 3.11.1(py)”,这是不正确的。
我做了以下事情来解决这个问题:
1.删除旧的.venv rm -rf .venv
1.创建了一个新的.venv(就像你刚刚从远程删除了func应用程序一样)python -m venv .venv
1.已激活虚拟环境source .venv/Scripts/activate
1.在venv pip install -r requirements.txt中重新安装软件包
或合并:
rm -rf .venv && python -m venv .venv && source .venv/Scripts/activate && pip install -r requirements.txt

相关问题