eth-brownie / brownie

A Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
https://eth-brownie.readthedocs.io
MIT License
2.65k stars 552 forks source link

Error during build #652

Closed tjayrush closed 4 years ago

tjayrush commented 4 years ago

Environment information

What was wrong?

I get this error when building: ERROR: jupyter-console 6.0.0 has requirement prompt-toolkit<2.1.0,>=2.0.0, but you'll have prompt-toolkit 3.0.5 which is incompatible. Installing collected packages: pyyaml, pycryptodome, eth-hash, urllib3, certifi, chardet, idna, requests, semantic-version, py-solc-x, sortedcontainers, hypothesis, bitarray, toolz, cytoolz, eth-typing, eth-utils, rlp, eth-keys, eth-keyfile, parsimonious, eth-abi, hexbytes, eth-rlp, eth-account, prompt-toolkit, eth-event, pygments, py-solc-ast, asttokens, vyper, psutil, inflection, PyJWT, mythx-models, pythx, websockets, typing-extensions, varint, netaddr, base58, multiaddr, ipfshttpclient, lru-dict, protobuf, web3, py, tqdm, pluggy, packaging, pytest, pytest-forked, apipkg, execnet, pytest-xdist, eth-brownie Found existing installation: prompt-toolkit 2.0.10 Uninstalling prompt-toolkit-2.0.10: ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: 'RECORD' Consider using the --user option or check the permissions.

pip install eth-brownie

How can it be fixed?

Fill this in if you know how the bug could be fixed.

iamdefinitelyahuman commented 4 years ago

Hi!

Looks like you're trying to install globally without adequate permissions. While installing globally is possible, I don't recommend it as it's likely to conflict with other packages you've installed. That error message shows a conflict with jupyter-console.

The recommended way to install is to use pipx:

python3 -m pip install --user pipx
python3 -m pipx ensurepath
pipx install eth-brownie

If you prefer to manage the installation yourself, I highly recommend creating and installing into a virtual environment so that the install is isolated.

Also, your version of ganache-cli is a bit outdated. Brownie is tested against v6.8.1, I'd recommend upgrading so there's no chance of running into issues there.

Here's an article I wrote that goes into detail about the installation process, it might be helpful: Getting Started with Brownie

If you have any further questions I'll leave this issue open for now, or you can always find me on Telegram or Gitter.

tjayrush commented 4 years ago

That worked. Thanks.