pythonpython-3.xrasa

Python RuntimeError: Python version 2.7 or 3.4+ is required - How to Resolve for a conversational app?


I am building a voice-to-voice based conversational prototype, similar to Alexa or IVR, with more human like responses from the voice AI Model.

I'm encountering a Python error related to the required Python version when trying to run or install a package: pip install rasa-sdk. Here are the details of the issue:

PS C:\Users\userName\OneDrive\Desktop\ConversePro> pip install rasa-sdk     
Collecting rasa-sdk
  Using cached rasa_sdk-1.10.3-py3-none-any.whl (39 kB)
Collecting coloredlogs<15,>=10 (from rasa-sdk)
  Using cached coloredlogs-14.3-py2.py3-none-any.whl (44 kB)
  Obtaining dependency information for requests<3.0,>=2.0 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
  Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting sanic<20.0.0,>=19.12.2 (from rasa-sdk)
  Using cached sanic-19.12.5-py3-none-any.whl (73 kB)
Collecting sanic-cors<0.11.0,>=0.10.0b1 (from rasa-sdk)
  Using cached Sanic_Cors-0.10.0.post3-py2.py3-none-any.whl (17 kB)
Collecting humanfriendly>=7.1 (from coloredlogs<15,>=10->rasa-sdk)
  Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.0->rasa-sdk)
  Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/92/5e/50028bbb269986d9bc30270cd46b47ea44a1ca0b3f8da3a8429680d37050/charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl.metadata
  Downloading charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests<3.0,>=2.0->rasa-sdk)
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.0->rasa-sdk)
  Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/37/dc/399e63f5d1d96bb643404ee830657f4dfcf8503f5ba8fa3c6d465d0c57fe/urllib3-2.0.5-py3-none-any.whl.metadata
  Using cached urllib3-2.0.5-py3-none-any.whl.metadata (6.6 kB)
Collecting certifi>=2017.4.17 (from requests<3.0,>=2.0->rasa-sdk)
  Obtaining dependency information for certifi>=2017.4.17 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata       
  Using cached certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Collecting httptools>=0.0.10 (from sanic<20.0.0,>=19.12.2->rasa-sdk)
  Obtaining dependency information for httptools>=0.0.10 from https://files.pythonhosted.org/packages/80/e6/158e8d56f6b4d29295cfa244f1e79a65d0987bb3941d36863e7f6e06e3b6/httptools-0.6.0-cp311-cp311-win_amd64.whl.metadata 
  Using cached httptools-0.6.0-cp311-cp311-win_amd64.whl.metadata (3.6 kB)
Collecting aiofiles>=0.3.0 (from sanic<20.0.0,>=19.12.2->rasa-sdk)
  Obtaining dependency information for aiofiles>=0.3.0 from https://files.pythonhosted.org/packages/c5/19/5af6804c4cc0fed83f47bff6e413a98a36618e7d40185cd36e69737f3b0e/aiofiles-23.2.1-py3-none-any.whl.metadata
  Using cached aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)
Collecting websockets<9.0,>=7.0 (from sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached websockets-8.1-cp311-cp311-win_amd64.whl
Collecting multidict==5.0.0 (from sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached multidict-5.0.0.tar.gz (53 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting httpx==0.9.3 (from sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached httpx-0.9.3-py2.py3-none-any.whl (64 kB)
Collecting hstspreload (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached hstspreload-2023.1.1-py3-none-any.whl (1.5 MB)
Collecting chardet==3.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting h11==0.8.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached h11-0.8.1-py2.py3-none-any.whl (55 kB)
Collecting h2==3.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached h2-3.2.0-py2.py3-none-any.whl (65 kB)
Collecting idna<4,>=2.5 (from requests<3.0,>=2.0->rasa-sdk)
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting rfc3986<2,>=1.3 (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)
Collecting sniffio==1.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting hyperframe<6,>=5.2.0 (from h2==3.*->httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached hyperframe-5.2.0-py2.py3-none-any.whl (12 kB)
Collecting hpack<4,>=3.0 (from h2==3.*->httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)
  Using cached hpack-3.0.0-py2.py3-none-any.whl (38 kB)
Collecting sanic-plugins-framework>=0.9.0 (from sanic-cors<0.11.0,>=0.10.0b1->rasa-sdk)
  Using cached Sanic_Plugins_Framework-0.9.5-py2.py3-none-any.whl (23 kB)
Collecting pyreadline3 (from humanfriendly>=7.1->coloredlogs<15,>=10->rasa-sdk)
  Using cached pyreadline3-3.4.1-py3-none-any.whl (95 kB)
Requirement already satisfied: setuptools>=40.0 in c:\users\saini computers\onedrive\desktop\conversepro\myenv\lib\site-packages (from sanic-plugins-framework>=0.9.0->sanic-cors<0.11.0,>=0.10.0b1->rasa-sdk) (65.5.0)     
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached aiofiles-23.2.1-py3-none-any.whl (15 kB)
Using cached certifi-2023.7.22-py3-none-any.whl (158 kB)
Downloading charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl (97 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.8/97.8 kB 941.9 kB/s eta 0:00:00
Using cached httptools-0.6.0-cp311-cp311-win_amd64.whl (142 kB)
Using cached urllib3-2.0.5-py3-none-any.whl (123 kB)
Building wheels for collected packages: multidict
  Building wheel for multidict (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for multidict (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [88 lines of output]
      **********************
      * Accellerated build *
      **********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-311
      creating build\lib.win-amd64-cpython-311\multidict
      copying multidict\_abc.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_compat.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_multidict_base.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_multidict_py.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\__init__.py -> build\lib.win-amd64-cpython-311\multidict
      running egg_info
      writing multidict.egg-info\PKG-INFO
      writing dependency_links to multidict.egg-info\dependency_links.txt
      writing top-level names to multidict.egg-info\top_level.txt
      reading manifest file 'multidict.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files found matching 'multidict\_multidict.html'
      warning: no previously-included files found matching 'multidict\*.so'
      warning: no previously-included files found matching 'multidict\*.pyd'
      warning: no previously-included files found matching 'multidict\*.pyd'
      no previously-included directories found matching 'docs\_build'
      adding license file 'LICENSE'
      writing manifest file 'multidict.egg-info\SOURCES.txt'
      C:\Users\saini computers\AppData\Local\Temp\pip-build-env-5pu_cixr\overlay\Lib\site-packages\setuptools\command\build_py.py:204: _Warning: Package 'multidict._multilib' is absent from the `packages` configuration. 
      !!
     
              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'multidict._multilib' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.
     
              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'multidict._multilib' is explicitly added
              to the `packages` configuration field.
     
              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).
     
              You can read more about "package discovery" on setuptools documentation page:
     
              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
     
              If you don't want 'multidict._multilib' to be distributed and are
              already explicitly excluding 'multidict._multilib' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.
     
              You can read more about "package data files" on setuptools documentation page:
     
              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
     
     
              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************
     
      !!
        check.warn(importable)
      copying multidict\__init__.pyi -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_multidict.c -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\py.typed -> build\lib.win-amd64-cpython-311\multidict
      creating build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\defs.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\dict.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\istr.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\iter.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\pair_list.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\views.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      running build_ext
      building 'multidict._multidict' extension
      creating build\temp.win-amd64-cpython-311
      creating build\temp.win-amd64-cpython-311\Release
      creating build\temp.win-amd64-cpython-311\Release\multidict
      "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-IC:\Users\saini computers\OneDrive\Desktop\ConversePro\myenv\include" "-IC:\Users\saini computers\AppData\Local\Programs\Python\Python311\include" "-IC:\Users\saini computers\AppData\Local\Programs\Python\Python311\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcmultidict/_multidict.c /Fobuild\temp.win-amd64-cpython-311\Release\multidict/_multidict.obj -O2      
      _multidict.c
      c:\users\saini computers\appdata\local\programs\python\python311\include\pyconfig.h(207): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for multidict
Failed to build multidict
ERROR: Could not build wheels for multidict, which is required to install pyproject.toml-based projects  

File Structure:

enter image description here

Codes:

Actions.py

from typing import Any, Text, Dict, List
import rasa
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from TTS.utils.generic_utils import setup_model
from TTS.utils.io import load_checkpoint
from TTS.utils.synthesis import synthesis
import numpy as np
import os

class ActionCheckBalance(Action):
    def name(self) -> Text:
        return "action_check_balance"

    def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
        # In a real implementation, you would fetch the balance from your API
        balance = 5000

        # Create a Coqui TTS model
        model_path = "path_to_your_coqui_tts_model"  
        model = setup_model(model_path)
        checkpoint_path = "path_to_your_checkpoint_file"  
        load_checkpoint(model, checkpoint_path)

        # Generate speech from the balance text
        text = f"Your current balance is ${balance}"
        mel_output, mel_length, alignment = synthesis(model, text, TTS_CONFIG)
        wav_data = np.squeeze(mel_output).T

        # Save the generated speech as an audio file
        audio_file_path = "response.wav"  # Update the file name as needed
        wav_data = ((wav_data + 1) * 32767.5).astype(np.int16)
        wav_data.tofile(audio_file_path)

        # Play the generated audio (adjust the playback method for your OS)
        os.system("start response.wav")  # For Windows

        return []

main.py

from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from TTS.utils.generic_utils import setup_model
from TTS.utils.io import load_checkpoint
from TTS.utils.synthesis import synthesis
import numpy as np
import os

class ActionCheckBalance(Action):
    def name(self) -> Text:
        return "action_check_balance"

    def run(self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
        # In a real implementation, you would fetch the balance from your API
        balance = 5000

        # Create a Coqui TTS model
        model_path = "path_to_your_coqui_tts_model"  # Update with your model's path
        model = setup_model(model_path)
        checkpoint_path = "path_to_your_checkpoint_file"  # Update with your checkpoint file
        load_checkpoint(model, checkpoint_path)

        # Generate speech from the balance text
        text = f"Your current balance is ${balance}"
        mel_output, mel_length, alignment = synthesis(model, text, TTS_CONFIG)
        wav_data = np.squeeze(mel_output).T

        # Save the generated speech as an audio file
        audio_file_path = "balance_response.wav"
        wav_data = ((wav_data + 1) * 32767.5).astype(np.int16)
        wav_data.tofile(audio_file_path)

        # Play the generated audio (adjust the playback method for your OS)
        os.system("afplay balance_response.wav")

        return []

I am using yaml to store intents, actions and responses.

I am unable to install rasa and TTS modules in my project.

Error

    PS C:\Users\saini computers\OneDrive\Desktop\ConversePro> pip install -U rasa-sdk Collecting rasa-sdk   Using cached rasa_sdk-1.10.3-py3-none-any.whl (39 kB) Collecting coloredlogs<15,>=10 (from rasa-sdk)   Using cached coloredlogs-14.3-py2.py3-none-any.whl (44 kB) Collecting requests<3.0,>=2.0 (from rasa-sdk)   Obtaining dependency information for requests<3.0,>=2.0 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB) Collecting sanic<20.0.0,>=19.12.2 (from rasa-sdk)   Using cached sanic-19.12.5-py3-none-any.whl (73 kB) Collecting sanic-cors<0.11.0,>=0.10.0b1 (from rasa-sdk)   Using cached Sanic_Cors-0.10.0.post3-py2.py3-none-any.whl (17 kB) Collecting humanfriendly>=7.1 (from coloredlogs<15,>=10->rasa-sdk)   Using cached humanfriendly-10.0-py2.py3-none-any.whl (86 kB) Collecting charset-normalizer<4,>=2 (from requests<3.0,>=2.0->rasa-sdk)   Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/92/5e/50028bbb269986d9bc30270cd46b47ea44a1ca0b3f8da3a8429680d37050/charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl.metadata Using cached charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl.metadata (33 kB) Collecting idna<4,>=2.5 (from requests<3.0,>=2.0->rasa-sdk)   Using cached idna-3.4-py3-none-any.whl (61 kB) Collecting urllib3<3,>=1.21.1 (from requests<3.0,>=2.0->rasa-sdk)   Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/37/dc/399e63f5d1d96bb643404ee830657f4dfcf8503f5ba8fa3c6d465d0c57fe/urllib3-2.0.5-py3-none-any.whl.metadata Using cached urllib3-2.0.5-py3-none-any.whl.metadata (6.6 kB) Collecting certifi>=2017.4.17 (from requests<3.0,>=2.0->rasa-sdk)   Obtaining dependency information for certifi>=2017.4.17 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata Using cached certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB) Collecting httptools>=0.0.10 (from sanic<20.0.0,>=19.12.2->rasa-sdk)   Obtaining dependency information for httptools>=0.0.10 from https://files.pythonhosted.org/packages/80/e6/158e8d56f6b4d29295cfa244f1e79a65d0987bb3941d36863e7f6e06e3b6/httptools-0.6.0-cp311-cp311-win_amd64.whl.metadata Using cached httptools-0.6.0-cp311-cp311-win_amd64.whl.metadata (3.6 kB) Collecting aiofiles>=0.3.0 (from sanic<20.0.0,>=19.12.2->rasa-sdk) Obtaining dependency information for aiofiles>=0.3.0 from https://files.pythonhosted.org/packages/c5/19/5af6804c4cc0fed83f47bff6e413a98a36618e7d40185cd36e69737f3b0e/aiofiles-23.2.1-py3-none-any.whl.metadata Using cached aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB) Collecting websockets<9.0,>=7.0 (from sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached websockets-8.1-cp311-cp311-win_amd64.whl Collecting multidict==5.0.0 (from sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached multidict-5.0.0.tar.gz (53 kB)   Installing build dependencies ... done   Getting requirements to build wheel ... done   Preparing metadata (pyproject.toml) ... done Collecting httpx==0.9.3 (from sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached httpx-0.9.3-py2.py3-none-any.whl (64 kB) Collecting hstspreload (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached hstspreload-2023.1.1-py3-none-any.whl (1.5 MB) Collecting chardet==3.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB) Collecting h11==0.8.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached h11-0.8.1-py2.py3-none-any.whl (55 kB) Collecting h2==3.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached h2-3.2.0-py2.py3-none-any.whl (65 kB) Collecting idna<4,>=2.5 (from requests<3.0,>=2.0->rasa-sdk)   Using cached idna-2.10-py2.py3-none-any.whl (58 kB) Collecting rfc3986<2,>=1.3 (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached rfc3986-1.5.0-py2.py3-none-any.whl (31 kB) Collecting sniffio==1.* (from httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached sniffio-1.3.0-py3-none-any.whl (10 kB) Collecting hyperframe<6,>=5.2.0 (from h2==3.*->httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached hyperframe-5.2.0-py2.py3-none-any.whl (12 kB) Collecting hpack<4,>=3.0 (from h2==3.*->httpx==0.9.3->sanic<20.0.0,>=19.12.2->rasa-sdk)   Using cached hpack-3.0.0-py2.py3-none-any.whl (38 kB) Collecting sanic-plugins-framework>=0.9.0 (from sanic-cors<0.11.0,>=0.10.0b1->rasa-sdk)   Using cached Sanic_Plugins_Framework-0.9.5-py2.py3-none-any.whl (23 kB) Collecting pyreadline3 (from humanfriendly>=7.1->coloredlogs<15,>=10->rasa-sdk)   Using cached pyreadline3-3.4.1-py3-none-any.whl (95 kB) Requirement already satisfied: setuptools>=40.0 in c:\users\saini computers\onedrive\desktop\conversepro\myenv\lib\site-packages (from sanic-plugins-framework>=0.9.0->sanic-cors<0.11.0,>=0.10.0b1->rasa-sdk) (65.5.0)      Using cached requests-2.31.0-py3-none-any.whl (62 kB) Using cached aiofiles-23.2.1-py3-none-any.whl (15 kB) Using cached certifi-2023.7.22-py3-none-any.whl (158 kB) Using cached charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl (97 kB) Using cached httptools-0.6.0-cp311-cp311-win_amd64.whl (142 kB) Using cached urllib3-2.0.5-py3-none-any.whl (123 kB) Building wheels for collected packages: multidict   Building wheel for multidict (pyproject.toml) ... error   error: subprocess-exited-with-error

  × Building wheel for multidict (pyproject.toml) did not run successfully.   │ exit code: 1   ╰─> [88 lines of output]
      **********************
      * Accellerated build *
      **********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-311
      creating build\lib.win-amd64-cpython-311\multidict
      copying multidict\_abc.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_compat.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_multidict_base.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_multidict_py.py -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\__init__.py -> build\lib.win-amd64-cpython-311\multidict
      running egg_info
      writing multidict.egg-info\PKG-INFO
      writing dependency_links to multidict.egg-info\dependency_links.txt
      writing top-level names to multidict.egg-info\top_level.txt
      reading manifest file 'multidict.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files found matching 'multidict\_multidict.html'
      warning: no previously-included files found matching 'multidict\*.so'
      warning: no previously-included files found matching 'multidict\*.pyd'
      warning: no previously-included files found matching 'multidict\*.pyd'
      no previously-included directories found matching 'docs\_build'
      adding license file 'LICENSE'
      writing manifest file 'multidict.egg-info\SOURCES.txt'
      C:\Users\saini computers\AppData\Local\Temp\pip-build-env-uyqnhdrf\overlay\Lib\site-packages\setuptools\command\build_py.py:204:
_Warning: Package 'multidict._multilib' is absent from the `packages` configuration. 
      !!
     
              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'multidict._multilib' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.
     
              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'multidict._multilib' is explicitly added
              to the `packages` configuration field.
     
              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).
     
              You can read more about "package discovery" on setuptools documentation page:
     
              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
     
              If you don't want 'multidict._multilib' to be distributed and are
              already explicitly excluding 'multidict._multilib' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.
     
              You can read more about "package data files" on setuptools documentation page:
     
              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
     
     
              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************
     
      !!
        check.warn(importable)
      copying multidict\__init__.pyi -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\_multidict.c -> build\lib.win-amd64-cpython-311\multidict
      copying multidict\py.typed -> build\lib.win-amd64-cpython-311\multidict
      creating build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\defs.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\dict.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\istr.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\iter.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\pair_list.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      copying multidict\_multilib\views.h -> build\lib.win-amd64-cpython-311\multidict\_multilib
      running build_ext
      building 'multidict._multidict' extension
      creating build\temp.win-amd64-cpython-311
      creating build\temp.win-amd64-cpython-311\Release
      creating build\temp.win-amd64-cpython-311\Release\multidict
      "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-IC:\Users\saini computers\OneDrive\Desktop\ConversePro\myenv\include" "-IC:\Users\saini computers\AppData\Local\Programs\Python\Python311\include" "-IC:\Users\saini computers\AppData\Local\Programs\Python\Python311\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /Tcmultidict/_multidict.c /Fobuild\temp.win-amd64-cpython-311\Release\multidict/_multidict.obj
-O2      
      _multidict.c
      c:\users\saini computers\appdata\local\programs\python\python311\include\pyconfig.h(207): fatal error C1083: Cannot open include file: 'basetsd.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.   ERROR: Failed building wheel for multidict Failed to build multidict ERROR: Could not build wheels for multidict, which is required to install pyproject.toml-based projects

Solution

  • Collecting rasa-sdk
    Using cached rasa_sdk-1.10.3-py3-none-any.whl (39 kB)

    That's a very old version of rasa-sdk; they're on 3.6.2 now.

    Try pip install -U rasa-sdk, or pip install rasa-sdk==3.6.2 to install that version. Chances are the dependency tree has newer versions of packages that will then work OOTB.

    (For rasa-sdk 1.10.3, the issue is there are no pre-built Windows wheels for multidict==5.0.0 for Python 3.11 (since multidict 5 is from 2020, and Python 3.11 is newer), and the version of sanic required by Rasa requires that version. (The requirement has been loosened for Sanic 22.3+ in https://github.com/sanic-org/sanic/commit/f6fdc80b40d2749acb80b4030aabc8ad8323d2b0 but that doesn't help you.) The easiest workaround would be to use a version of Python that there are prebuilt wheels for, i.e. 3.9.)