Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added conda environment #1386

Merged
merged 5 commits into from
Jun 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,12 @@ $ pip3 install bittensor
$ git clone https://github.com/opentensor/bittensor.git
$ python3 -m pip install -e bittensor/
```
4. Using Conda (recommended for **Apple M1**):
```bash
$ conda env create -f ~/.bittensor/bittensor/scripts/environments/apple_m1_environment.yml
$ conda activate bittensor
```

To test your installation, type:
```bash
$ btcli --help
Expand Down
Empty file removed filtered_text_history.txt
Empty file.
15 changes: 15 additions & 0 deletions scripts/environments/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## 04 Installation on Apple M chip
There are quite a few Python libraries that are not yet compatible with Apple M chipset architecture. The best way to use Bittensor on this hardware is through Conda and Miniforge. The Opentensor team has created a Conda environment that makes installing Bittensor on these systems very easy.

> NOTE: This tutorial assumes you have installed conda on mac, if you have not done so already you can install it from [here](https://conda.io/projects/conda/en/latest/user-guide/install/macos.html).

1. Create the conda environment from the `apple_m1_environment.yml` file here:
```bash
conda env create -f apple_m1_environment.yml
```

2. Activate the new environment: `conda activate bittensor`.
3. Verify that the new environment was installed correctly:
```bash
conda env list
```
283 changes: 283 additions & 0 deletions scripts/environments/apple_m1_environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
name: bittensor
channels:
- conda-forge
dependencies:
- anyio=3.6.2=pyhd8ed1ab_0
- appnope=0.1.3=pyhd8ed1ab_0
- argon2-cffi=21.3.0=pyhd8ed1ab_0
- argon2-cffi-bindings=21.2.0=py310h8e9501a_3
- asttokens=2.2.1=pyhd8ed1ab_0
- async-lru=2.0.2=pyhd8ed1ab_0
- attrs=23.1.0=pyh71513ae_1
- babel=2.12.1=pyhd8ed1ab_1
- backcall=0.2.0=pyh9f0ad1d_0
- backports=1.0=pyhd8ed1ab_3
- backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0
- beautifulsoup4=4.12.2=pyha770c72_0
- bleach=6.0.0=pyhd8ed1ab_0
- brotli=1.0.9=h1a8c8d9_8
- brotli-bin=1.0.9=h1a8c8d9_8
- bzip2=1.0.8=h3422bc3_4
- c-ares=1.18.1=h3422bc3_0
- ca-certificates=2023.5.7=hf0a4a13_0
- cffi=1.15.1=py310h2399d43_3
- charset-normalizer=3.1.0=pyhd8ed1ab_0
- comm=0.1.3=pyhd8ed1ab_0
- debugpy=1.6.7=py310h0f1eb42_0
- decorator=5.1.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- entrypoints=0.4=pyhd8ed1ab_0
- executing=1.2.0=pyhd8ed1ab_0
- flit-core=3.9.0=pyhd8ed1ab_0
- gmp=6.2.1=h9f76cd9_0
- grpcio=1.42.0=py310h00ca444_0
- importlib-metadata=6.6.0=pyha770c72_0
- importlib_metadata=6.6.0=hd8ed1ab_0
- importlib_resources=5.12.0=pyhd8ed1ab_0
- ipython=8.13.2=pyhd1c38e8_0
- jedi=0.18.2=pyhd8ed1ab_0
- json5=0.9.5=pyh9f0ad1d_0
- jupyter-lsp=2.1.0=pyhd8ed1ab_0
- jupyter_client=8.2.0=pyhd8ed1ab_0
- jupyter_core=5.3.0=py310hbe9552e_0
- jupyter_events=0.6.3=pyhd8ed1ab_0
- jupyter_server=2.5.0=pyhd8ed1ab_0
- jupyter_server_terminals=0.4.4=pyhd8ed1ab_1
- jupyterlab=4.0.0=pyhd8ed1ab_1
- jupyterlab_pygments=0.2.2=pyhd8ed1ab_0
- jupyterlab_server=2.22.1=pyhd8ed1ab_0
- libabseil=20230125.0=cxx17_hb7217d7_1
- libbrotlicommon=1.0.9=h1a8c8d9_8
- libbrotlidec=1.0.9=h1a8c8d9_8
- libbrotlienc=1.0.9=h1a8c8d9_8
- libcxx=16.0.3=h4653b0c_0
- libffi=3.4.2=h3422bc3_5
- libgrpc=1.54.1=h9dbdbd0_0
- libprotobuf=3.21.12=hb5ab8b9_0
- libsodium=1.0.18=h27ca646_1
- libsqlite=3.41.2=hb31c410_1
- libzlib=1.2.13=h03a7124_4
- matplotlib-inline=0.1.6=pyhd8ed1ab_0
- mistune=2.0.5=pyhd8ed1ab_0
- nb_conda_kernels=2.3.1=py310hbe9552e_2
- nbconvert-core=7.4.0=pyhd8ed1ab_0
- nbformat=5.8.0=pyhd8ed1ab_0
- ncurses=6.3=h07bb92c_1
- nest-asyncio=1.5.6=pyhd8ed1ab_0
- notebook-shim=0.2.3=pyhd8ed1ab_0
- openssl=3.1.0=h53f4e23_3
- packaging=23.1=pyhd8ed1ab_0
- pandocfilters=1.5.0=pyhd8ed1ab_0
- parso=0.8.3=pyhd8ed1ab_0
- pexpect=4.8.0=pyh1a96a4e_2
- pickleshare=0.7.5=py_1003
- pip=23.1.2=pyhd8ed1ab_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_0
- prometheus_client=0.17.0=pyhd8ed1ab_0
- prompt-toolkit=3.0.38=pyha770c72_0
- prompt_toolkit=3.0.38=hd8ed1ab_0
- ptyprocess=0.7.0=pyhd3deb0d_0
- pure_eval=0.2.2=pyhd8ed1ab_0
- pycparser=2.21=pyhd8ed1ab_0
- pycryptodome=3.11.0=py310hb4a4851_1
- pygments=2.15.1=pyhd8ed1ab_0
- pyobjc-core=9.1.1=py310h44ed3dd_0
- pyobjc-framework-cocoa=9.1.1=py310h44ed3dd_0
- pyrsistent=0.19.3=py310h8e9501a_0
- pysocks=1.7.1=pyha2e5f31_6
- python=3.10.10=h3ba56d0_0_cpython
- python-dateutil=2.8.2=pyhd8ed1ab_0
- python-fastjsonschema=2.17.1=pyhd8ed1ab_0
- python-json-logger=2.0.7=pyhd8ed1ab_0
- python_abi=3.10=3_cp310
- pytz=2023.3=pyhd8ed1ab_0
- pyyaml=6.0=py310h8e9501a_5
- pyzmq=25.0.2=py310hc407298_0
- re2=2023.02.02=hb7217d7_0
- readline=8.2=h92ec313_1
- rfc3339-validator=0.1.4=pyhd8ed1ab_0
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
- send2trash=1.8.2=pyhd1c38e8_0
- setuptools=67.7.2=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- sniffio=1.3.0=pyhd8ed1ab_0
- stack_data=0.6.2=pyhd8ed1ab_0
- terminado=0.17.1=pyhd1c38e8_0
- tinycss2=1.2.1=pyhd8ed1ab_0
- tk=8.6.12=he1e0b03_0
- tomli=2.0.1=pyhd8ed1ab_0
- traitlets=5.9.0=pyhd8ed1ab_0
- typing_extensions=4.6.1=pyha770c72_0
- tzdata=2023c=h71feb2d_0
- wcwidth=0.2.6=pyhd8ed1ab_0
- xz=5.2.6=h57fd34a_0
- yaml=0.2.5=h3422bc3_2
- zeromq=4.3.4=hbdafb3b_1
- zipp=3.15.0=pyhd8ed1ab_0
- zlib=1.2.13=h03a7124_4
- pip:
- addict==2.4.0
- aiohttp==3.8.4
- aiosignal==1.3.1
- altair==4.2.2
- ansible==7.5.0
- ansible-core==2.14.5
- ansible-vault==2.1.0
- appdirs==1.4.4
- argparse==1.4.0
- arrow==1.2.3
- async-timeout==4.0.2
- backoff==2.1.0
- base58==2.0.1
- blinker==1.6.2
- cachetools==4.2.4
- certifi==2020.11.8
- cfgv==3.3.1
- chardet==3.0.4
- click==8.1.3
- commonmark==0.9.1
- cryptography==39.0.0
- cytoolz==0.12.1
- dataclasses-json==0.5.7
- datasets==2.12.0
- dill==0.3.6
- distlib==0.3.6
- docker-pycreds==0.4.0
- ecdsa==0.18.0
- eth-hash==0.5.1
- eth-keys==0.4.0
- eth-typing==3.3.0
- eth-utils==2.1.0
- exceptiongroup==1.1.1
- fastjsonschema==2.16.3
- filelock==3.12.0
- fqdn==1.5.1
- frozenlist==1.3.3
- fsspec==2023.5.0
- fuzzywuzzy==0.18.0
- gitdb==4.0.10
- gitpython==3.1.31
- google-api-core==1.34.0
- google-api-python-client==2.7.0
- google-auth==1.35.0
- google-auth-httplib2==0.1.0
- googleapis-common-protos==1.59.0
- grpcio-tools==1.42.0
- httplib2==0.22.0
- huggingface-hub==0.14.1
- hypothesis==6.47.4
- identify==2.5.24
- idna==2.10
- ipykernel==6.23.0
- ipython-genutils==0.2.0
- ipywidgets==8.0.6
- isoduration==20.11.0
- jinja2==3.0.0
- joblib==1.2.0
- jsonpointer==2.3
- jsonschema==4.17.0
- jupyter==1.0.0
- jupyter-console==6.6.3
- jupyterlab-widgets==3.0.7
- langchain==0.0.164
- loguru==0.6.0
- markupsafe==2.0.1
- marshmallow==3.19.0
- marshmallow-enum==1.5.1
- miniupnpc==2.0.2
- more-itertools==9.1.0
- msgpack==1.0.4
- msgpack-numpy==0.4.7.1
- multidict==6.0.4
- multiprocess==0.70.14
- munch==2.5.0
- mypy-extensions==1.0.0
- nbclassic==1.0.0
- nbclient==0.7.4
- netaddr==0.8.0
- networkx==3.1
- nltk==3.8.1
- nodeenv==1.8.0
- notebook==6.5.4
- numexpr==2.8.4
- numpy==1.21.6
- openapi-schema-pydantic==1.2.4
- openvalidators==1.0.1
- pandas==1.5.2
- password-strength==0.0.3.post2
- pathtools==0.1.2
- pillow==9.5.0
- platformdirs==3.5.0
- plotly==5.14.1
- pre-commit==3.3.2
- prometheus-client==0.14.1
- promise==2.3
- protobuf==3.19.5
- psutil==5.9.4
- py==1.11.0
- py-bip39-bindings==0.1.11
- py-ed25519-bindings==1.0.2
- py-ed25519-zebra-bindings==1.0.1
- py-sr25519-bindings==0.2.0
- pyarrow==12.0.0
- pyasn1==0.5.0
- pyasn1-modules==0.3.0
- pydantic==1.10.7
- pydeck==0.8.1b0
- pyinstrument==4.4.0
- pympler==1.0.1
- pynacl==1.5.0
- pyparsing==3.0.9
- python-levenshtein==0.12.1
- qqdm==0.0.7
- qtconsole==5.4.3
- qtpy==2.3.1
- regex==2023.5.5
- requests==2.25.0
- resolvelib==0.8.1
- responses==0.18.0
- retry==0.9.2
- rich==12.5.1
- rsa==4.9
- scalecodec==1.2.0
- scikit-learn==1.2.2
- scipy==1.10.1
- sentence-transformers==2.2.2
- sentencepiece==0.1.97
- sentry-sdk==1.22.2
- setproctitle==1.3.2
- shortuuid==1.0.11
- smmap==5.0.0
- sortedcontainers==2.4.0
- soupsieve==2.4.1
- sqlalchemy==2.0.12
- streamlit==1.22.0
- substrate-interface==1.5.0
- tenacity==8.2.2
- termcolor==2.1.1
- threadpoolctl==3.1.0
- tokenizers==0.12.1
- toml==0.10.2
- toolz==0.12.0
- torch==1.13.1
- torchvision==0.14.1
- tornado==6.3.1
- tqdm==4.64.1
- transformers==4.20.1
- typing-extensions==4.5.0
- typing-inspect==0.8.0
- tzlocal==5.0.1
- uri-template==1.2.0
- uritemplate==3.0.1
- urllib3==1.26.15
- validators==0.20.0
- virtualenv==20.23.0
- wandb==0.15.3
- webcolors==1.13
- webencodings==0.5.1
- websocket-client==1.5.1
- wheel==0.37.1
- widgetsnbextension==4.0.7
- xxhash==3.2.0
- yarl==1.9.2
prefix: /opt/homebrew/Caskroom/miniforge/base/envs/bittensor