i am using kaggle , kaggle working direction is /kaggle/working/.



now i want to install https://github.com/Cinnamon/kotaemon?tab=readme-ov-file in kaggle & run. can you help me.



below i give you localtunnel code to lunch comfyui in kaggle. this is just for your guidence.



!npm install -g localtunnel



import subprocess



import threading



import time



import socket



import urllib.request



def iframe_thread(port):



  while True:



      time.sleep(0.5)



      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)



      result = sock.connect_ex(('127.0.0.1', port))



      if result == 0:



        break



      sock.close()



  print("\nComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)\n")



  print("The password/endpoint IP for localtunnel is:", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip("\n"))



  p = subprocess.Popen(["lt", "--port", "{}".format(port)], stdout=subprocess.PIPE)



  for line in p.stdout:



    print(line.decode(), end='')



threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()



!python $working_folder/ComfyUI/main.py



# Print password for localtunnel



print("Password/Endpoint IP for localtunnel is:", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip("\n"))







i wrote this code:



# Ensure we're in the correct working directory



%cd /kaggle/working/







# Create a virtual environment



!python -m venv kotaemon_env



!source kotaemon_env/bin/activate







# Install dependencies



!pip install --upgrade pip



!pip install git+https://github.com/Cinnamon/kotaemon.git



!pip install llama-index==0.9.32



!pip install qdrant-client



!npm install -g localtunnel







# Import necessary modules



import subprocess



import threading



import time



import socket



import urllib.request



import sys



import importlib







# Attempt to import kotaemon



try:



    import kotaemon



    print("Kotaemon imported successfully!")



except ImportError as e:



    print(f"Error importing Kotaemon: {e}")



    print("Please check the installation and dependencies.")



    sys.exit(1)







def run_localtunnel(port):



    process = subprocess.Popen(["lt", "--port", str(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)



    for line in process.stdout:



        if "your url is:" in line.lower():



            url = line.split("is:")[-1].strip()



            print(f"Localtunnel URL: {url}")



            break



    process.wait()







def iframe_thread(port):



    while True:



        time.sleep(0.5)



        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)



        result = sock.connect_ex(('127.0.0.1', port))



        if result == 0:



            break



        sock.close()



    print("\nApplication finished loading, launching localtunnel\n")



    print("The password/endpoint IP for localtunnel is:", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip("\n"))



    run_localtunnel(port)







# Start localtunnel thread



threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()







# Your Kotaemon application code goes here



# For example:



# from kotaemon import YourKotaemonClass



# kotaemon_instance = YourKotaemonClass()



# ... (rest of your application code)







# If you have a separate Python file for your application, you can run it like this:



# !python your_app.py







# If you prefer to write your application code here, you can do so:



# def main():



#     # Your main application logic using Kotaemon



#     pass



#



# if __name__ == "__main__":



#     main()







# Keep the script running



while True:



    time.sleep(1)











but localtunnel url & password not print.



logs:



Installing collected packages: protobuf, grpcio



  Attempting uninstall: protobuf



    Found existing installation: protobuf 4.25.3



    Uninstalling protobuf-4.25.3:



      Successfully uninstalled protobuf-4.25.3



  Attempting uninstall: grpcio



    Found existing installation: grpcio 1.64.1



    Uninstalling grpcio-1.64.1:



      Successfully uninstalled grpcio-1.64.1ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.



apache-beam 2.46.0 requires cloudpickle~=2.2.1, but you have cloudpickle 3.0.0 which is incompatible.



apache-beam 2.46.0 requires dill<0.3.2,>=0.3.1.1, but you have dill 0.3.8 which is incompatible.



apache-beam 2.46.0 requires numpy<1.25.0,>=1.14.3, but you have numpy 1.26.4 which is incompatible.



apache-beam 2.46.0 requires protobuf<4,>3.12.2, but you have protobuf 5.28.2 which is incompatible.



apache-beam 2.46.0 requires pyarrow<10.0.0,>=3.0.0, but you have pyarrow 16.1.0 which is incompatible.



google-ai-generativelanguage 0.6.6 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-api-core 2.11.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0.dev0,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-aiplatform 0.6.0a1 requires google-api-core[grpc]<2.0.0dev,>=1.22.2, but you have google-api-core 2.11.1 which is incompatible.



google-cloud-artifact-registry 1.11.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-automl 1.0.1 requires google-api-core[grpc]<2.0.0dev,>=1.14.0, but you have google-api-core 2.11.1 which is incompatible.



google-cloud-bigquery 2.34.4 requires packaging<22.0dev,>=14.3, but you have packaging 23.2 which is incompatible.



google-cloud-bigquery 2.34.4 requires protobuf<4.0.0dev,>=3.12.0, but you have protobuf 5.28.2 which is incompatible.



google-cloud-bigquery-connection 1.15.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-bigtable 1.7.3 requires protobuf<4.0.0dev, but you have protobuf 5.28.2 which is incompatible.



google-cloud-dlp 3.18.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-functions 1.16.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-iam 2.15.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-monitoring 2.21.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-pubsub 2.21.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-recommendations-ai 0.7.1 requires protobuf<5.0.0dev,>=3.19.0, but you have protobuf 5.28.2 which is incompatible.



google-cloud-resource-manager 1.12.3 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-spanner 3.47.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.2, but you have protobuf 5.28.2 which is incompatible.



google-cloud-translate 3.12.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



google-cloud-vision 2.8.0 requires protobuf<4.0.0dev,>=3.19.0, but you have protobuf 5.28.2 which is incompatible.



grpc-google-iam-v1 0.12.7 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 5.28.2 which is incompatible.



kfp 2.5.0 requires google-cloud-storage<3,>=2.2.1, but you have google-cloud-storage 1.44.0 which is incompatible.



kfp 2.5.0 requires kubernetes<27,>=8.0.0, but you have kubernetes 30.1.0 which is incompatible.



kfp 2.5.0 requires protobuf<4,>=3.13.0, but you have protobuf 5.28.2 which is incompatible.



kfp 2.5.0 requires urllib3<2.0.0, but you have urllib3 2.2.1 which is incompatible.



kfp-pipeline-spec 0.2.2 requires protobuf<4,>=3.13.0, but you have protobuf 5.28.2 which is incompatible.



opentelemetry-proto 1.25.0 requires protobuf<5.0,>=3.19, but you have protobuf 5.28.2 which is incompatible.



proto-plus 1.23.0 requires protobuf<5.0.0dev,>=3.19.0, but you have protobuf 5.28.2 which is incompatible.



tensorboard-plugin-profile 2.15.1 requires protobuf<5.0.0dev,>=3.19.6, but you have protobuf 5.28.2 which is incompatible.



tensorflow 2.16.1 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 5.28.2 which is incompatible.



tensorflow-metadata 0.14.0 requires protobuf<4,>=3.7, but you have protobuf 5.28.2 which is incompatible.



tensorflow-serving-api 2.16.1 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 5.28.2 which is incompatible.



tensorflow-transform 0.14.0 requires protobuf<4,>=3.7, but you have protobuf 5.28.2 which is incompatible.Successfully installed grpcio-1.66.1 protobuf-5.28.2



m#################.] | reify:yargs-parser: timing reifyNode:node_modules/localt



changed 22 packages in 731ms







3 packages are looking for funding



  run `npm fund` for details



Kotaemon imported successfully!





please fix the issue not showing localtunnel url & password