Skip to content

Instantly share code, notes, and snippets.

@mberman84
Created March 30, 2024 16:23
Show Gist options
  • Save mberman84/2ad782e90d18650dfdf42d677c18c520 to your computer and use it in GitHub Desktop.
Save mberman84/2ad782e90d18650dfdf42d677c18c520 to your computer and use it in GitHub Desktop.
OpenDevin Installation
git clone https://github.com/OpenDevin/OpenDevin.git
cd OpenDevin
conda create -n od python=3.10
conda activate od
docker ps
(optional) install docker if not already installed
docker pull ghcr.io/opendevin/sandbox
export OPENAI_API_KEY={your key}
(optional I had to install rust) curl --proto '=https' --tlsv1.2 -sSf [https://sh.rustup.rs](https://sh.rustup.rs/) | sh
(optional) restart terminal
python -m pip install -r requirements.txt
(optional) orjson issue (MacOS)
- pip uninstall orjson
- pip install --no-cache-dir --only-binary :all: orjson
uvicorn opendevin.server.listen:app --port 3000
@chesterlsc
Copy link

PS C:\Users\Chester\Desktop\OpenDevin> uvicorn opendevin.server.listen:app --port 3000
ERROR:root: File "", line 198, in _run_module_as_main
File "", line 88, in run_code
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Scripts\uvicorn.exe_main
.py", line 7, in
sys.exit(main())
^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 764, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\main.py", line 409, in main
run(
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\main.py", line 575, in run
server.run()
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 65, in run
return asyncio.run(self.serve(sockets=sockets))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester\anaconda3\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Users\Chester\anaconda3\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester\anaconda3\Lib\asyncio\base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 69, in serve
await self._serve(sockets)
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 76, in serve
config.load()
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\config.py", line 433, in load
self.loaded_app = import_from_string(self.app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester\anaconda3\Lib\importlib_init
.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in find_and_load
File "", line 1147, in find_and_load_unlocked
File "", line 690, in load_unlocked
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\Users\Chester\Desktop\OpenDevin\opendevin\server\listen.py", line 11, in
import agenthub # noqa F401 (we import this to get the agents registered)
^^^^^^^^^^^^^^^
File "C:\Users\Chester\Desktop\OpenDevin\agenthub_init
.py", line 7, in
from . import planner_agent # noqa: E402
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent_init
.py", line 2, in
from .agent import PlannerAgent
File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent\agent.py", line 2, in
from .prompt import get_prompt, parse_response
File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent\prompt.py", line 4, in
from opendevin.controller.agent_controller import print_with_color
File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller_init.py", line 1, in
from .agent_controller import AgentController
File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller\agent_controller.py", line 25, in
from .command_manager import CommandManager
File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller\command_manager.py", line 5, in
from opendevin.sandbox import DockerExecBox, DockerSSHBox, Sandbox, LocalBox
File "C:\Users\Chester\Desktop\OpenDevin\opendevin\sandbox_init.py", line 2, in
from .ssh_box import DockerSSHBox
File "C:\Users\Chester\Desktop\OpenDevin\opendevin\sandbox\ssh_box.py", line 11, in
from pexpect import pxssh
File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\pexpect\pxssh.py", line 23, in
from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn

ERROR:root:<class 'ImportError'>: cannot import name 'spawn' from 'pexpect' (C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\pexpect_init_.py)

what to do with this?

@shivakumar414
Copy link

PS C:\Users\Chester\Desktop\OpenDevin> uvicorn opendevin.server.listen:app --port 3000 ERROR:root: File "", line 198, in run_module_as_main File "", line 88, in run_code File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Scripts\uvicorn.exe__main.py", line 7, in sys.exit(main()) ^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 764, in call return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 717, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 555, in invoke return callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\main.py", line 409, in main run( File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\main.py", line 575, in run server.run() File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 65, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\asyncio\runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\asyncio\runners.py", line 118, in run return self.loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\asyncio\base_events.py", line 653, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 69, in serve await self.serve(sockets) File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 76, in serve config.load() File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\config.py", line 433, in load self.loaded_app = import_from_string(self.app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\importer.py", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\importlib__init.py", line 126, in import_module return bootstrap.gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1204, in gcd_import File "", line 1176, in find_and_load File "", line 1147, in find_and_load_unlocked File "", line 690, in load_unlocked File "", line 940, in exec_module File "", line 241, in call_with_frames_removed File "C:\Users\Chester\Desktop\OpenDevin\opendevin\server\listen.py", line 11, in import agenthub # noqa F401 (we import this to get the agents registered) ^^^^^^^^^^^^^^^ File "C:\Users\Chester\Desktop\OpenDevin\agenthub__init.py", line 7, in from . import planner_agent # noqa: E402 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent__init.py", line 2, in from .agent import PlannerAgent File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent\agent.py", line 2, in from .prompt import get_prompt, parse_response File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent\prompt.py", line 4, in from opendevin.controller.agent_controller import print_with_color File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller__init.py", line 1, in from .agent_controller import AgentController File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller\agent_controller.py", line 25, in from .command_manager import CommandManager File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller\command_manager.py", line 5, in from opendevin.sandbox import DockerExecBox, DockerSSHBox, Sandbox, LocalBox File "C:\Users\Chester\Desktop\OpenDevin\opendevin\sandbox__init.py", line 2, in from .ssh_box import DockerSSHBox File "C:\Users\Chester\Desktop\OpenDevin\opendevin\sandbox\ssh_box.py", line 11, in from pexpect import pxssh File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\pexpect\pxssh.py", line 23, in from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn

ERROR:root:<class 'ImportError'>: cannot import name 'spawn' from 'pexpect' (C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\pexpect__init__.py)

what to do with this?

Did you try to modify init.py in Pexpext as I quoted above ? Give it a try.

@chesterlsc
Copy link

PS C:\Users\Chester\Desktop\OpenDevin> uvicorn opendevin.server.listen:app --port 3000 ERROR:root: File "", line 198, in run_module_as_main File "", line 88, in run_code File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Scripts\uvicorn.exe__main.py", line 7, in sys.exit(main()) ^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 764, in call return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 717, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\click\core.py", line 555, in invoke return callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\main.py", line 409, in main run( File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\main.py", line 575, in run server.run() File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 65, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\asyncio\runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\asyncio\runners.py", line 118, in run return self.loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\asyncio\base_events.py", line 653, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 69, in serve await self.serve(sockets) File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\server.py", line 76, in serve config.load() File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\config.py", line 433, in load self.loaded_app = import_from_string(self.app) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\uvicorn\importer.py", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\anaconda3\Lib\importlib__init.py", line 126, in import_module return bootstrap.gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1204, in gcd_import File "", line 1176, in find_and_load File "", line 1147, in find_and_load_unlocked File "", line 690, in load_unlocked File "", line 940, in exec_module File "", line 241, in call_with_frames_removed File "C:\Users\Chester\Desktop\OpenDevin\opendevin\server\listen.py", line 11, in import agenthub # noqa F401 (we import this to get the agents registered) ^^^^^^^^^^^^^^^ File "C:\Users\Chester\Desktop\OpenDevin\agenthub__init.py", line 7, in from . import planner_agent # noqa: E402 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent__init.py", line 2, in from .agent import PlannerAgent File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent\agent.py", line 2, in from .prompt import get_prompt, parse_response File "C:\Users\Chester\Desktop\OpenDevin\agenthub\planner_agent\prompt.py", line 4, in from opendevin.controller.agent_controller import print_with_color File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller__init.py", line 1, in from .agent_controller import AgentController File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller\agent_controller.py", line 25, in from .command_manager import CommandManager File "C:\Users\Chester\Desktop\OpenDevin\opendevin\controller\command_manager.py", line 5, in from opendevin.sandbox import DockerExecBox, DockerSSHBox, Sandbox, LocalBox File "C:\Users\Chester\Desktop\OpenDevin\opendevin\sandbox__init.py", line 2, in from .ssh_box import DockerSSHBox File "C:\Users\Chester\Desktop\OpenDevin\opendevin\sandbox\ssh_box.py", line 11, in from pexpect import pxssh File "C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\pexpect\pxssh.py", line 23, in from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn
ERROR:root:<class 'ImportError'>: cannot import name 'spawn' from 'pexpect' (C:\Users\Chester.virtualenvs\OpenDevin-tL0UUjMA\Lib\site-packages\pexpect__init__.py)
what to do with this?

Did you try to modify init.py in Pexpext as I quoted above ? Give it a try.

can you reply the exact code for init?

@LuigiNicaPRO
Copy link

For the requirements.txt, do
pip install poetry
poetry install
But I still have other errors ... the backend server is not starting. I guess we will have to visit another Open Devin installation video :)

@Qarqor5555555
Copy link

The program opens the background and then the interface, but the connection does not work use gpt 3.5wsl wid debian

@twobombs
Copy link

twobombs commented May 1, 2024

run in Ubuntu CLI/WSL

export WORKSPACE_BASE=$(pwd)/workspace

docker run -e GROQ_API_KEY=API-key -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE -v $WORKSPACE_BASE:/opt/workspace_base -v /var/run/docker.sock:/var/run/docker.sock -p 3000:3000 --add-host host.docker.internal:host-gateway ghcr.io/opendevin/opendevin:main

slightly modified because of syntax and usability from the source: https://opendevin.github.io/OpenDevin/

@hydrodog
Copy link

hydrodog commented May 2, 2024

I am running on popos (effectively Ubuntu 22)

I needed to build requirements.txt, took from the above, but it was missing some files:

pexpect
e2b
json_repair

the instructions installed python 3.10.14 which is older than my system, 3.11

After running the server:

npm run start -- --port 3001

I get the following error:

[plugin:vite:import-analysis] Failed to resolve import "./src/i18n/declaration" from "src/components/ChatInput.tsx". Does the file exist?

/home/me/tmp/code/OpenDevin/frontend/src/components/ChatInput.tsx:6:24

21 | import { VscArrowUp } from "react-icons/vsc";
22 | import { twMerge } from "tailwind-merge";
23 | import { I18nKey } from "./src/i18n/declaration";
| ^
24 | function ChatInput({ disabled, onSendMessage }) {
25 | _s();

There was an issue in OpenDevin:

OpenDevin/OpenDevin#762

they say it can be fixed with

make build

but this requires me to change to python 3.11
My system has python 3.11 installed, but the docker setup above specifically sets it to an older 3.10.14
How can I change python in this specific environment to python 3.11?

@venkatgoku
Copy link

@shivakumar414 I am also stuck at ERROR:root:<class 'ModuleNotFoundError'>: No module named 'termios'. Were you able to resolve this????

@hydrodog
Copy link

hydrodog commented May 3, 2024

Yes, that also has to go into requirements.txt

just do it manually:

pip install termios

@Orizune
Copy link

Orizune commented May 6, 2024

export OPENAI_API_KEY={your key}

'export' is not recongnized as as intern command (i'm in windows)

@jimthedj65
Copy link

jimthedj65 commented May 7, 2024

I hope this helps someone else I had to remove miniconda and install anaconda3 and then create a requirements.txt and add the following:

datasets
pandas
litellm
termcolor
seaborn
docker
fastapi
uvicorn[standard]
ruff
mypy
langchain
langchain-core
langchain-community
llama-index
llama-index-vector-stores-chroma
chromadb
llama-index-embeddings-huggingface
llama-index-embeddings-azure-openai
llama-index-embeddings-ollama
google-generativeai
toml
termios

I then had an issue with llama-index-vector-stores-chroma with ERROR: Cannot install llama-index-vector-stores-chroma==0.1.2, llama-index-vector-stores-chroma==0.1.3, llama-index-vector-stores-chroma==0.1.4 and llama-index-vector-stores-chroma==0.1.5 because these package versions have conflicting dependencies.

I resolved that by running conda install onnxruntime -c conda-forge

I ran the server and got a further error

uvicorn opendevin.server.listen:app --port 3000
/opt/anaconda3/envs/od/lib/python3.12/site-packages/pydantic/_internal/_fields.py:160: UserWarning: Field "model_group_retry_policy" has conflict with protected namespace "model_".

You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`.
  warnings.warn(
ERROR:root:  File "/opt/anaconda3/envs/od/bin/uvicorn", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/main.py", line 409, in main
    run(
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/main.py", line 575, in run
    server.run()
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/server.py", line 69, in serve
    await self._serve(sockets)
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/server.py", line 76, in _serve
    config.load()
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/config.py", line 433, in load
    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/importer.py", line 22, in import_from_string
    raise exc from None
  File "/opt/anaconda3/envs/od/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/anaconda3/envs/od/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/server/listen.py", line 13, in <module>
    import agenthub  # noqa F401 (we import this to get the agents registered)
    ^^^^^^^^^^^^^^^
  File "/Volumes/ExtremeSSD/OpenDevin/agenthub/__init__.py", line 3, in <module>
    from opendevin.controller.agent import Agent
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/controller/__init__.py", line 1, in <module>
    from .action_manager import ActionManager
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/controller/action_manager.py", line 5, in <module>
    from opendevin.events.action import (
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/events/action/__init__.py", line 17, in <module>
    from .files import FileReadAction, FileWriteAction
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/events/action/files.py", line 14, in <module>
    from opendevin.runtime import E2BBox
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/runtime/__init__.py", line 3, in <module>
    from .docker.ssh_box import DockerSSHBox
  File "/Volumes/ExtremeSSD/OpenDevin/opendevin/runtime/docker/ssh_box.py", line 12, in <module>
    from pexpect import pxssh

ERROR:root:<class 'ModuleNotFoundError'>: No module named 'pexpect'

I have posted a question on backend issue here

OpenDevin/OpenDevin#1472

@Inductiv3D
Copy link

Inductiv3D commented May 12, 2024

@Orizune change 'export' to 'set' on windows

export OPENAI_API_KEY={your key}

'export' is not recongnized as as intern command (i'm in windows)

@rgtourism
Copy link

can somebody give me proper and latest installation steps.

@hydrodog
Copy link

Yes, this gist should definitely be updated. At least for linux, it was pretty far off.

For windows you need to set an environment variable, look up how to do that in Windows.

I had to generate conda with:

conda create -n od python=3.11

so that later, I could:

make build

which was the only way to generate some files that were not there.
requirements.txt needs at least the following:

datasets
pandas
litellm
termcolor
seaborn
docker
fastapi
uvicorn[standard]
ruff
mypy
langchain
langchain-core
langchain-community
llama-index
llama-index-vector-stores-chroma
chromadb
llama-index-embeddings-huggingface
llama-index-embeddings-azure-openai
llama-index-embeddings-ollama
google-generativeai
toml
pexpect
e2b
json_repair
browsergym
html2text

@hydrodog
Copy link

Ok, I finally have OpenDevin built, now what?
I wanted to give it some commands, but the folder is showing OpenDevin. Odd question, but how do I create a new project? I don't see it. I don't want it trashing the OpenDevin directory. I noticed it was immediately looking at the code in there, and I don't want OpenDevin messing with itself.

@afdhali
Copy link

afdhali commented May 22, 2024

Pip install litellm

On Mon, Apr 8, 2024, 13:38 Anis111111 @.> wrote: @.* commented on this gist. ------------------------------ uvicorn opendevin.server.listen:app --port 3000 Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in run_codeFile "C:\Users\Anis--M\anaconda3\Scripts\uvicorn.exe_main.py", line 7, in File "C:\Users\Anis--M\anaconda3\Lib\site-packages\click\core.py", line 1157, in call return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\site-packages\click\core.py", line 783, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\main.py", line 409, in main run( File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\main.py", line 575, in run server.run() File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\server.py", line 65, in run return asyncio.run(self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\asyncio\runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\asyncio\base_events.py", line 653, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\server.py", line 69, in serve await self._serve(sockets) File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\server.py", line 76, in serveconfig.load()File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\config.py", line 433, in loadself.loaded_app = import_from_string(self.app http://self.app)^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\importer.py", line 22, in import_from_stringraise exc from NoneFile "C:\Users\Anis--M\anaconda3\Lib\site-packages\uvicorn\importer.py", line 19, in import_from_stringmodule = importlib.import_module(module_str)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\Anis--M\anaconda3\Lib\importlib_init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1204, in _gcd_import File "", line 1176, in _find_and_load File "", line 1147, in _find_and_load_unlocked File "", line 690, in _load_unlocked File "", line 940, in exec_module File "", line 241, in _call_with_frames_removed File "C:\Users\Anis--M\Desktop\OpenDevin\opendevin\server\listen.py", line 5, in import litellm ModuleNotFoundError: No module named 'litellm' what shoud i do?? — Reply to this email directly, view it on GitHub https://gist.github.com/mberman84/2ad782e90d18650dfdf42d677c18c520#gistcomment-5016655 or unsubscribe https://github.com/notifications/unsubscribe-auth/BHO7XPWRFKIIXPTRWYS52IDY4LW4XBFKMF2HI4TJMJ2XIZLTSKBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDHNFZXJJDOMFWWLK3UNBZGKYLEL52HS4DFVRZXKYTKMVRXIX3UPFYGLK2HNFZXIQ3PNVWWK3TUUZ2G64DJMNZZDAVEOR4XAZNEM5UXG5FFOZQWY5LFVEYTEOJTG4YDSMJZU52HE2LHM5SXFJTDOJSWC5DF . You are receiving this email because you commented on the thread. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .

i have some issue and i do pip install litellm.. but it still have that issue

@afdhali
Copy link

afdhali commented May 22, 2024

File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/home/jenkins888/openDevin/OpenDevin-main/opendevin/server/listen.py", line 358, in
app.mount('/', StaticFiles(directory='./frontend/dist'), name='dist')
File "/home/jenkins888/.local/share/virtualenvs/OpenDevin-main-46NLFAxI/lib/python3.10/site-packages/starlette/staticfiles.py", line 59, in init
raise RuntimeError(f"Directory '{directory}' does not exist")

ERROR:root:<class 'RuntimeError'>: Directory './frontend/dist' does not exist
01:44:26 - opendevin:INFO: manager.py:46 - Closing 0 agent(s)...
01:44:26 - opendevin:INFO: manager.py:43 - Saving sessions...
01:44:26 - opendevin:INFO: msg_stack.py:41 - Saving messages...

over 12hours+ stuck over there

@alexrR0987eqw
Copy link

ERROR:root: File "C:\Users\Gamer\anaconda3\envs\od\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\Gamer\anaconda3\envs\od\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\Gamer\anaconda3\envs\od\Scripts\uvicorn.exe_main
.py", line 7, in
sys.exit(main())
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\click\core.py", line 1157, in call
return self.main(*args, **kwargs)
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\click\core.py", line 1078, in main
rv = self.invoke(ctx)
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\click\core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\click\core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\main.py", line 410, in main
run(
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\main.py", line 577, in run
server.run()
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\server.py", line 65, in run
return asyncio.run(self.serve(sockets=sockets))
File "C:\Users\Gamer\anaconda3\envs\od\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\Gamer\anaconda3\envs\od\lib\asyncio\base_events.py", line 649, in run_until_complete
return future.result()
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\server.py", line 69, in serve
await self._serve(sockets)
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\server.py", line 76, in serve
config.load()
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\config.py", line 434, in load
self.loaded_app = import_from_string(self.app)
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\importer.py", line 22, in import_from_string
raise exc from None
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\uvicorn\importer.py", line 19, in import_from_string
module = importlib.import_module(module_str)
File "C:\Users\Gamer\anaconda3\envs\od\lib\importlib_init
.py", line 126, in import_module
return _bootstrap.gcd_import(name[level:], package, level)
File "", line 1050, in gcd_import
File "", line 1027, in find_and_load
File "", line 1006, in find_and_load_unlocked
File "", line 688, in load_unlocked
File "", line 883, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\server\listen.py", line 15, in
import agenthub # noqa F401 (we import this to get the agents registered)
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\agenthub_init
.py", line 3, in
from opendevin.controller.agent import Agent
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\controller_init
.py", line 1, in
from .agent_controller import AgentController
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\controller\agent_controller.py", line 5, in
from opendevin.controller.agent import Agent
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\controller\agent.py", line 12, in
from opendevin.runtime.plugins import PluginRequirement
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\runtime_init.py", line 1, in
from .docker.exec_box import DockerExecBox
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\runtime\docker\exec_box.py", line 19, in
from opendevin.runtime.sandbox import Sandbox
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\runtime\sandbox.py", line 8, in
from opendevin.runtime.plugins.mixin import PluginMixin
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\runtime\plugins_init.py", line 2, in
from .agent_skills import AgentSkillsRequirement
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\runtime\plugins\agent_skills_init.py", line 4, in
from opendevin.runtime.plugins.agent_skills.agentskills import DOCUMENTATION
File "C:\Users\Gamer\Desktop\deviantdevin\opendevin\opendevin\runtime\plugins\agent_skills\agentskills.py", line 25, in
import docx
File "C:\Users\Gamer\anaconda3\envs\od\lib\site-packages\docx_init.py", line 9, in
from core import Docx

ERROR:root:<class 'ModuleNotFoundError'>: No module named 'core'

i need help i dunno what to do

@gsharma007
Copy link

afdhali You will have to build the dist folder, by using npm commands. First you have to build declaration file in i18ln by building i18ln and then you will have to build dist.
npm run make-i18n
npm run build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment