0

I'm new to azure so excuse my lack of knowledge about the platform. I'm currently trying to run and deploy an azure function using python. these modules are currently found in my requirements.txt file

azure-functions
graphqlclient
requests
gql
asyncio
aiohttp

I run the following command pip install -r requirements.txt to install them, but for some reason, some modules cannot be found. for example the json module. import json works fine with any other python program. but when i try and add it to the requirements.txt file and run this command pip install -r requirements.txt i get the following error

ERROR: Could not find a version that satisfies the requirement json (from versions: none)
ERROR: No matching distribution found for json

i tried adding a version, but that did not solve my issue. thats only half my problem, i decided to ignore this problem for now and try to work with the modules that are working properly in the .txt file. moving on to my __init__.py file which is a timer trigger i have the following imports

import datetime
import logging
from graphqlclient import GraphQLClient
import requests
import asyncio
from gql import gql, Client
from gql.transport.aiohttp import AIOHTTPTransport

import azure.functions as func  

but when i try and run my function i get the following error

Exception: ModuleNotFoundError: No module named 'gql.transport.aiohttp'

Can someone please explain these module erros? all these modules work fine when i run them from any other python program, so the problem seems to be from azure.

Thanks

0

1 Answer 1

1

I run the following command pip install -r requirements.txt to install them, but for some reason, some modules cannot be found. for example the json module.

Json is a standard library in python there's no need to install it.

Just include it in your python script as the following:

import json

Exception: ModuleNotFoundError: No module named 'gql.transport.aiohttp'

According to my test results, the default version of gql installed using the pip install -r requirements.txt command is 2.0.0.

If you use from gql.transport.aiohttp import AIOHTTPTransport to import AIOHTTPTransport, you need to install 3.x.x.

So this error is caused by version incompatibility.

Solution:

Please install the 3.x.x version of gql, you can uninstall the installed gql first, and then reinstall the new version of gql:

pip uninstall gql

pip install gql==3.0.0a5

enter image description here

I did some tests and the function can run normally.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.