ethereum / sharding

Sharding manager contract, and related software and tests
480 stars 105 forks source link

python setup.py install outputs an error #54

Closed jamesray1 closed 6 years ago

jamesray1 commented 6 years ago
james@james-Streacom:~$ git clone https://github.com/ethereum/sharding/
Cloning into 'sharding'...
remote: Counting objects: 1368, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 1368 (delta 18), reused 40 (delta 17), pack-reused 1326
Receiving objects: 100% (1368/1368), 334.40 KiB | 198.00 KiB/s, done.
Resolving deltas: 100% (963/963), done.
james@james-Streacom:~$ virtualenv -p python3.6 sharding
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/james/sharding/bin/python3.6
Also creating executable in /home/james/sharding/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
james@james-Streacom:~$ cd sharding
james@james-Streacom:~/sharding$ python setup.py install
running install
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/test-easy-install-17613.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python2.7/dist-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://setuptools.readthedocs.io/en/latest/easy_install.html

Please make the appropriate changes for your system and try again.
jamesray1 commented 6 years ago

I then tried:

james@james-Streacom:~/sharding$ sudo python3.6 setup.py install
[sudo] password for james: 
running install
running bdist_egg
running egg_info
creating sharding.egg-info
writing sharding.egg-info/PKG-INFO
writing dependency_links to sharding.egg-info/dependency_links.txt
writing requirements to sharding.egg-info/requires.txt
writing top-level names to sharding.egg-info/top_level.txt
writing manifest file 'sharding.egg-info/SOURCES.txt'
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/sharding
copying sharding/state_transition.py -> build/lib/sharding
copying sharding/main_chain.py -> build/lib/sharding
copying sharding/used_receipt_store_utils.py -> build/lib/sharding
copying sharding/shard_chain.py -> build/lib/sharding
copying sharding/config.py -> build/lib/sharding
copying sharding/contract_utils.py -> build/lib/sharding
copying sharding/receipt_consuming_tx_utils.py -> build/lib/sharding
copying sharding/stateless_collator.py -> build/lib/sharding
copying sharding/validator_manager_utils.py -> build/lib/sharding
copying sharding/collation.py -> build/lib/sharding
copying sharding/__init__.py -> build/lib/sharding
copying sharding/collator.py -> build/lib/sharding
creating build/lib/sharding/tools
copying sharding/tools/tester.py -> build/lib/sharding/tools
copying sharding/tools/__init__.py -> build/lib/sharding/tools
creating build/lib/sharding/tests
copying sharding/tests/test_used_receipt_store_utils.py -> build/lib/sharding/tests
copying sharding/tests/test_collation.py -> build/lib/sharding/tests
copying sharding/tests/test_validator_manager_utils.py -> build/lib/sharding/tests
copying sharding/tests/test_tester.py -> build/lib/sharding/tests
copying sharding/tests/test_used_receipt_store.py -> build/lib/sharding/tests
copying sharding/tests/test_state_transition.py -> build/lib/sharding/tests
copying sharding/tests/test_validator_manager.py -> build/lib/sharding/tests
copying sharding/tests/test_receipt_consuming_tx_utils.py -> build/lib/sharding/tests
copying sharding/tests/test_collator.py -> build/lib/sharding/tests
copying sharding/tests/test_main_chain.py -> build/lib/sharding/tests
copying sharding/tests/test_shard_chain.py -> build/lib/sharding/tests
copying sharding/tests/test_stateless_collator.py -> build/lib/sharding/tests
copying sharding/tests/__init__.py -> build/lib/sharding/tests
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/state_transition.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/main_chain.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/used_receipt_store_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/shard_chain.py -> build/bdist.linux-x86_64/egg/sharding
creating build/bdist.linux-x86_64/egg/sharding/tools
copying build/lib/sharding/tools/tester.py -> build/bdist.linux-x86_64/egg/sharding/tools
copying build/lib/sharding/tools/__init__.py -> build/bdist.linux-x86_64/egg/sharding/tools
copying build/lib/sharding/config.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/contract_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/receipt_consuming_tx_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/stateless_collator.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/validator_manager_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/collation.py -> build/bdist.linux-x86_64/egg/sharding
creating build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_used_receipt_store_utils.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_collation.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_validator_manager_utils.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_tester.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_used_receipt_store.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_state_transition.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_validator_manager.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_receipt_consuming_tx_utils.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_collator.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_main_chain.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_shard_chain.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_stateless_collator.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/__init__.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/__init__.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/collator.py -> build/bdist.linux-x86_64/egg/sharding
byte-compiling build/bdist.linux-x86_64/egg/sharding/state_transition.py to state_transition.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/main_chain.py to main_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/used_receipt_store_utils.py to used_receipt_store_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/shard_chain.py to shard_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tools/tester.py to tester.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tools/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/config.py to config.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/contract_utils.py to contract_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/receipt_consuming_tx_utils.py to receipt_consuming_tx_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/stateless_collator.py to stateless_collator.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/validator_manager_utils.py to validator_manager_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/collation.py to collation.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_used_receipt_store_utils.py to test_used_receipt_store_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_collation.py to test_collation.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_validator_manager_utils.py to test_validator_manager_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_tester.py to test_tester.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_used_receipt_store.py to test_used_receipt_store.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_state_transition.py to test_state_transition.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_validator_manager.py to test_validator_manager.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_receipt_consuming_tx_utils.py to test_receipt_consuming_tx_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_collator.py to test_collator.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_main_chain.py to test_main_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_shard_chain.py to test_shard_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_stateless_collator.py to test_stateless_collator.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/collator.py to collator.cpython-36.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating dist
creating 'dist/sharding-0.0.1-py3.6.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing sharding-0.0.1-py3.6.egg
creating /usr/local/lib/python3.6/dist-packages/sharding-0.0.1-py3.6.egg
Extracting sharding-0.0.1-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding sharding 0.0.1 to easy-install.pth file

Installed /usr/local/lib/python3.6/dist-packages/sharding-0.0.1-py3.6.egg
Processing dependencies for sharding==0.0.1
Searching for viper
Downloading http://github.com/ethereum/viper/tarball/9a6f972ba459f66e63adcfe9a4ad1c7d2f6ec47a#egg=viper-9.99.9
Best match: viper 9.99.9
Processing 9a6f972ba459f66e63adcfe9a4ad1c7d2f6ec47a
Writing /tmp/easy_install-nvg2o_ju/ethereum-vyper-9a6f972/setup.cfg
Running ethereum-vyper-9a6f972/setup.py -q bdist_egg --dist-dir /tmp/easy_install-nvg2o_ju/ethereum-vyper-9a6f972/egg-dist-tmp-qi2tiaa_
zip_safe flag not set; analyzing archive contents...
Moving viper-0.0.2-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding viper 0.0.2 to easy-install.pth file
Installing viper-serve script to /usr/local/bin
Installing viper script to /usr/local/bin

Installed /usr/local/lib/python3.6/dist-packages/viper-0.0.2-py3.6.egg
Searching for rlp>=0.6.0
Reading https://pypi.python.org/simple/rlp/
Downloading https://pypi.python.org/packages/f9/53/922c7a15116e52cd7340f81b83322d5ec9d38668cd78d1a0c7e75dfce8f2/rlp-0.6.0.tar.gz#md5=433c15b0efa188752448a0dd422a5bc0
Best match: rlp 0.6.0
Processing rlp-0.6.0.tar.gz
Writing /tmp/easy_install-45fwr61s/rlp-0.6.0/setup.cfg
Running rlp-0.6.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-45fwr61s/rlp-0.6.0/egg-dist-tmp-d5o316ei
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
creating /usr/local/lib/python3.6/dist-packages/rlp-0.6.0-py3.6.egg
Extracting rlp-0.6.0-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding rlp 0.6.0 to easy-install.pth file

Installed /usr/local/lib/python3.6/dist-packages/rlp-0.6.0-py3.6.egg
Searching for future>=0.16.0
Reading https://pypi.python.org/simple/future/
Downloading https://pypi.python.org/packages/00/2b/8d082ddfed935f3608cc61140df6dcbf0edea1bc3ab52fb6c29ae3e81e85/future-0.16.0.tar.gz#md5=3e8e88a2bda48d54b1da7634d04760d7
Best match: future 0.16.0
Processing future-0.16.0.tar.gz
Writing /tmp/easy_install-ym2v9wji/future-0.16.0/setup.cfg
Running future-0.16.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ym2v9wji/future-0.16.0/egg-dist-tmp-5asila3_
warning: no files found matching '*.au' under directory 'tests'
warning: no files found matching '*.gif' under directory 'tests'
warning: no files found matching '*.txt' under directory 'tests'
zip_safe flag not set; analyzing archive contents...
past.builtins.__pycache__.misc.cpython-36: module MAY be using inspect.stack
past.translation.__pycache__.__init__.cpython-36: module references __file__
past.translation.__pycache__.__init__.cpython-36: module references __path__
future.utils.__pycache__.__init__.cpython-36: module MAY be using inspect.stack
future.standard_library.__pycache__.__init__.cpython-36: module references __file__
future.standard_library.__pycache__.__init__.cpython-36: module references __path__
future.backports.test.__pycache__.support.cpython-36: module references __file__
future.backports.test.__pycache__.ssl_servers.cpython-36: module references __file__
creating /usr/local/lib/python3.6/dist-packages/future-0.16.0-py3.6.egg
Extracting future-0.16.0-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding future 0.16.0 to easy-install.pth file
Installing futurize script to /usr/local/bin
Installing pasteurize script to /usr/local/bin

Installed /usr/local/lib/python3.6/dist-packages/future-0.16.0-py3.6.egg
Searching for ethereum>=2.1.0
Reading https://pypi.python.org/simple/ethereum/
Downloading https://pypi.python.org/packages/74/ce/0444f1e6fbb8b0995732c92979a8118929631fd8ea72bd30c62d4cf8a196/ethereum-2.3.0.tar.gz#md5=6966382fca5d8fee45d576053834f16f
Best match: ethereum 2.3.0
Processing ethereum-2.3.0.tar.gz
Writing /tmp/easy_install-x5wwwneg/ethereum-2.3.0/setup.cfg
Running ethereum-2.3.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-x5wwwneg/ethereum-2.3.0/egg-dist-tmp-ebq8asdt
zip_safe flag not set; analyzing archive contents...
ethereum.tools.__pycache__.new_statetest_utils.cpython-36: module references __file__
ethereum.tools.__pycache__.testutils.cpython-36: module references __file__
ethereum.hybrid_casper.__pycache__.casper_utils.cpython-36: module references __file__
ethereum.__pycache__.__init__.cpython-36: module references __file__
ethereum.tests.__pycache__.test_tester.cpython-36: module references __file__
ethereum.tests.__pycache__.test_trie.cpython-36: module references __file__
creating /usr/local/lib/python3.6/dist-packages/ethereum-2.3.0-py3.6.egg
Extracting ethereum-2.3.0-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding ethereum 2.3.0 to easy-install.pth file

Installed /usr/local/lib/python3.6/dist-packages/ethereum-2.3.0-py3.6.egg
Searching for pytest-runner
Reading https://pypi.python.org/simple/pytest-runner/
Downloading https://pypi.python.org/packages/65/b4/ae89338cd2d81e2cc54bd6db2e962bfe948f612303610d68ab24539ac2d1/pytest-runner-3.0.tar.gz#md5=8f8363a52bbabc4cedd5e239beb2ba11
Best match: pytest-runner 3.0
Processing pytest-runner-3.0.tar.gz
Writing /tmp/easy_install-cynf6fb5/pytest-runner-3.0/setup.cfg
Running pytest-runner-3.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-cynf6fb5/pytest-runner-3.0/egg-dist-tmp-p3rdf44n
zip_safe flag not set; analyzing archive contents...
Moving pytest_runner-3.0-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding pytest-runner 3.0 to easy-install.pth file

Installed /usr/local/lib/python3.6/dist-packages/pytest_runner-3.0-py3.6.egg
Searching for pytest-cov
Reading https://pypi.python.org/simple/pytest-cov/
Downloading https://pypi.python.org/packages/24/b4/7290d65b2f3633db51393bdf8ae66309b37620bc3ec116c5e357e3e37238/pytest-cov-2.5.1.tar.gz#md5=5acf38d4909e19819eb5c1754fbfc0ac
Best match: pytest-cov 2.5.1
Processing pytest-cov-2.5.1.tar.gz
Writing /tmp/easy_install-fftzynlx/pytest-cov-2.5.1/setup.cfg
Running pytest-cov-2.5.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-fftzynlx/pytest-cov-2.5.1/egg-dist-tmp-r160j5z8
warning: no files found matching '.isort.cfg'
warning: no files found matching '.pylintrc'
warning: no previously-included files matching '*.py[cod]' found anywhere in distribution
warning: no previously-included files matching '__pycache__' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
creating /usr/local/lib/python3.6/dist-packages/pytest_cov-2.5.1-py3.6.egg
Extracting pytest_cov-2.5.1-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding pytest-cov 2.5.1 to easy-install.pth file

Installed /usr/local/lib/python3.6/dist-packages/pytest_cov-2.5.1-py3.6.egg
error: ethereum 2.3.0 is installed but ethereum==2.1.0 is required by {'viper'}
james@james-Streacom:~/sharding$ 
jamesray1 commented 6 years ago

Note: error: ethereum 2.3.0 is installed but ethereum==2.1.0 is required by {'viper'}

jamesray1 commented 6 years ago

I guess that this is not an issue since requirements.txt says ethereum>=2.1.0, so it should be OK if it is 2.1.0 or later, right?

hwwhww commented 6 years ago

Due to the dependencies of viper and pyethereum, it requires ethereum==2.1.0. IMO just use USE_PYETHEREUM_DEVELOP=1 python setup.py develop for now. We are moving the codebase to Py-EVM.

jamesray1 commented 6 years ago
james@james-Streacom:~$ git clone https://github.com/ethereum/sharding/
Cloning into 'sharding'...
remote: Counting objects: 1368, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 1368 (delta 18), reused 40 (delta 17), pack-reused 1326
Receiving objects: 100% (1368/1368), 334.40 KiB | 234.00 KiB/s, done.
Resolving deltas: 100% (963/963), done.
james@james-Streacom:~$ virtualenv -p python3.6 sharding
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/james/sharding/bin/python3.6
Also creating executable in /home/james/sharding/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
james@james-Streacom:~$ cd sharding
james@james-Streacom:~/sharding$ USE_PYETHEREUM_DEVELOP=1 python setup.py develop
running develop
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/test-easy-install-22913.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python2.7/dist-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://setuptools.readthedocs.io/en/latest/easy_install.html

Please make the appropriate changes for your system and try again.

james@james-Streacom:~/sharding$ sudo USE_PYETHEREUM_DEVELOP=1 python3.6 setup.py develop
[sudo] password for james: 
running develop
running egg_info
creating sharding.egg-info
writing sharding.egg-info/PKG-INFO
writing dependency_links to sharding.egg-info/dependency_links.txt
writing requirements to sharding.egg-info/requires.txt
writing top-level names to sharding.egg-info/top_level.txt
writing manifest file 'sharding.egg-info/SOURCES.txt'
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
running build_ext
Creating /usr/local/lib/python3.6/dist-packages/sharding.egg-link (link to .)
sharding 0.0.1 is already the active version in easy-install.pth

Installed /home/james/sharding
Processing dependencies for sharding==0.0.1
error: ethereum 2.3.0 is installed but ethereum==2.1.0 is required by {'viper'}
hwwhww commented 6 years ago

@jamesray1

Creating /usr/local/lib/python3.6/dist-packages/sharding.egg-link (link to .)

It seems that you installed sharding in global env? I think you may need to call source sharding/bin/activate to use the virtualenv you created.

ltfschoen commented 6 years ago

@jamesray1 I've written a guide on how I set it all up in this PR and added it to the Readme https://github.com/ethereum/sharding/pull/51/files#diff-0730bb7c2e8f9ea2438b52e419dd86c9R26. I'd recommend using PyEnv instead of Virtualenv, the workflow of installing and switching between Python versions requires much less steps and is far simpler with PyEnv IMO (its very similar to rbenv that we use in the Ruby language to switch between versions). I'll have a look at why the TravisCI tests aren't passing next, and then try and setup a guide on getting it to work with Docker if I have time this weekend.

jamesray1 commented 6 years ago

@hwwhww @ltfschoen thanks, I'll try both tips!

jamesray1 commented 6 years ago

@ltfschoen unfortunately I'm using Ubuntu, which your PR doesn't seem to have instructions for. BTW, it's nice to see another Australian working in the Ethereum space! I'm in Sydney (Redfern).

jamesray1 commented 6 years ago

@hwwhww I tried installing again, and didn't get the link to bit.

james@james-Streacom:~$ git clone https://github.com/ethereum/pyethereum.git
Cloning into 'pyethereum'...
remote: Counting objects: 15686, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 15686 (delta 0), reused 0 (delta 0), pack-reused 15682
Receiving objects: 100% (15686/15686), 5.36 MiB | 753.00 KiB/s, done.
Resolving deltas: 100% (11665/11665), done.
james@james-Streacom:~$ virtualenv -p python3.6 pyethereum
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/james/pyethereum/bin/python3.6
Also creating executable in /home/james/pyethereum/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
james@james-Streacom:~$ virtualenv -v
Running virtualenv with interpreter /usr/bin/python2
You must provide a DEST_DIR
Usage: virtualenv.py [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Increase verbosity.
  -q, --quiet           Decrease verbosity.
  -p PYTHON_EXE, --python=PYTHON_EXE
                        The Python interpreter to use, e.g.,
                        --python=python2.5 will use the python2.5 interpreter
                        to create the new environment.  The default is the
                        python2 interpreter on your path (e.g.
                        /usr/bin/python2)
  --clear               Clear out the non-root install and start from scratch.
  --no-site-packages    DEPRECATED. Retained only for backward compatibility.
                        Not having access to global site-packages is now the
                        default behavior.
  --system-site-packages
                        Give the virtual environment access to the global
                        site-packages.
  --always-copy         Always copy files rather than symlinking.
  --unzip-setuptools    Unzip Setuptools when installing it.
  --relocatable         Make an EXISTING virtualenv environment relocatable.
                        This fixes up scripts and makes all .pth files
                        relative.
  --no-setuptools       Do not install setuptools in the new virtualenv.
  --no-pip              Do not install pip in the new virtualenv.
  --no-wheel            Do not install wheel in the new virtualenv.
  --extra-search-dir=DIR
                        Directory to look for setuptools/pip distributions in.
                        This option can be used multiple times.
  --download            Download preinstalled packages from PyPI.
  --no-download, --never-download
                        Do not download preinstalled packages from PyPI.
  --prompt=PROMPT       Provides an alternative prompt prefix for this
                        environment.
  --setuptools          DEPRECATED. Retained only for backward compatibility.
                        This option has no effect.
  --distribute          DEPRECATED. Retained only for backward compatibility.
                        This option has no effect.
james@james-Streacom:~$ virtualenv3.6 -v
virtualenv3.6: command not found
james@james-Streacom:~$ cd pyethereum
james@james-Streacom:~/pyethereum$ pip install -r requirements.txt
Collecting https://github.com/ethereum/ethash/tarball/master (from -r requirements.txt (line 8))
  Downloading https://github.com/ethereum/ethash/tarball/master
     - 1.2MB 479kB/s
Collecting pysha3>=1.0.1 (from -r requirements.txt (line 1))
  Using cached pysha3-1.0.2-cp27-cp27mu-manylinux1_x86_64.whl
Collecting PyYAML (from -r requirements.txt (line 2))
Collecting repoze.lru (from -r requirements.txt (line 3))
Collecting scrypt (from -r requirements.txt (line 4))
Collecting pbkdf2 (from -r requirements.txt (line 5))
Collecting py_ecc (from -r requirements.txt (line 6))
Collecting rlp>=0.4.7 (from -r requirements.txt (line 7))
Collecting pycryptodome>=3.4.7 (from -r requirements.txt (line 9))
  Downloading pycryptodome-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl (6.8MB)
    100% |████████████████████████████████| 6.8MB 138kB/s 
Collecting coincurve>=7.0.0 (from -r requirements.txt (line 10))
  Downloading coincurve-7.0.0-cp27-cp27mu-manylinux1_x86_64.whl (533kB)
    100% |████████████████████████████████| 542kB 1.2MB/s 
Collecting future (from -r requirements.txt (line 11))
Collecting cffi>=1.3.0 (from coincurve>=7.0.0->-r requirements.txt (line 10))
  Downloading cffi-1.11.4-cp27-cp27mu-manylinux1_x86_64.whl (406kB)
    100% |████████████████████████████████| 409kB 1.1MB/s 
Collecting asn1crypto (from coincurve>=7.0.0->-r requirements.txt (line 10))
  Using cached asn1crypto-0.24.0-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.3.0->coincurve>=7.0.0->-r requirements.txt (line 10))
Installing collected packages: pysha3, PyYAML, repoze.lru, scrypt, pbkdf2, py-ecc, rlp, pycryptodome, pycparser, cffi, asn1crypto, coincurve, future, pyethash
  Running setup.py install for pyethash ... done
Successfully installed PyYAML-3.12 asn1crypto-0.24.0 cffi-1.11.4 coincurve-7.0.0 future-0.16.0 pbkdf2-1.3 py-ecc-1.4.2 pycparser-2.18 pycryptodome-3.4.8 pyethash-0.1.27 pysha3-1.0.2 repoze.lru-0.7 rlp-0.6.0 scrypt-0.8.0
james@james-Streacom:~/pyethereum$ git clone https://github.com/ethereum/sharding/
Cloning into 'sharding'...
remote: Counting objects: 1393, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 1393 (delta 2), reused 9 (delta 2), pack-reused 1382
Receiving objects: 100% (1393/1393), 346.98 KiB | 367.00 KiB/s, done.
Resolving deltas: 100% (975/975), done.
james@james-Streacom:~/pyethereum$ cd sharding
james@james-Streacom:~/pyethereum/sharding$ python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/lib/python2.7/site.pyc matches /usr/lib/python2.7/site.py
import site # precompiled from /usr/lib/python2.7/site.pyc
# /usr/lib/python2.7/os.pyc matches /usr/lib/python2.7/os.py
import os # precompiled from /usr/lib/python2.7/os.pyc
import errno # builtin
import posix # builtin
# /usr/lib/python2.7/posixpath.pyc matches /usr/lib/python2.7/posixpath.py
import posixpath # precompiled from /usr/lib/python2.7/posixpath.pyc
# /usr/lib/python2.7/stat.pyc matches /usr/lib/python2.7/stat.py
import stat # precompiled from /usr/lib/python2.7/stat.pyc
# /usr/lib/python2.7/genericpath.pyc matches /usr/lib/python2.7/genericpath.py
import genericpath # precompiled from /usr/lib/python2.7/genericpath.pyc
# /usr/lib/python2.7/warnings.pyc matches /usr/lib/python2.7/warnings.py
import warnings # precompiled from /usr/lib/python2.7/warnings.pyc
# /usr/lib/python2.7/linecache.pyc matches /usr/lib/python2.7/linecache.py
import linecache # precompiled from /usr/lib/python2.7/linecache.pyc
# /usr/lib/python2.7/types.pyc matches /usr/lib/python2.7/types.py
import types # precompiled from /usr/lib/python2.7/types.pyc
# /usr/lib/python2.7/UserDict.pyc matches /usr/lib/python2.7/UserDict.py
import UserDict # precompiled from /usr/lib/python2.7/UserDict.pyc
# /usr/lib/python2.7/_abcoll.pyc matches /usr/lib/python2.7/_abcoll.py
import _abcoll # precompiled from /usr/lib/python2.7/_abcoll.pyc
# /usr/lib/python2.7/abc.pyc matches /usr/lib/python2.7/abc.py
import abc # precompiled from /usr/lib/python2.7/abc.pyc
# /usr/lib/python2.7/_weakrefset.pyc matches /usr/lib/python2.7/_weakrefset.py
import _weakrefset # precompiled from /usr/lib/python2.7/_weakrefset.pyc
import _weakref # builtin
# /usr/lib/python2.7/copy_reg.pyc matches /usr/lib/python2.7/copy_reg.py
import copy_reg # precompiled from /usr/lib/python2.7/copy_reg.pyc
# /usr/lib/python2.7/traceback.pyc matches /usr/lib/python2.7/traceback.py
import traceback # precompiled from /usr/lib/python2.7/traceback.pyc
# /usr/lib/python2.7/sysconfig.pyc matches /usr/lib/python2.7/sysconfig.py
import sysconfig # precompiled from /usr/lib/python2.7/sysconfig.pyc
# /usr/lib/python2.7/re.pyc matches /usr/lib/python2.7/re.py
import re # precompiled from /usr/lib/python2.7/re.pyc
# /usr/lib/python2.7/sre_compile.pyc matches /usr/lib/python2.7/sre_compile.py
import sre_compile # precompiled from /usr/lib/python2.7/sre_compile.pyc
import _sre # builtin
# /usr/lib/python2.7/sre_parse.pyc matches /usr/lib/python2.7/sre_parse.py
import sre_parse # precompiled from /usr/lib/python2.7/sre_parse.pyc
# /usr/lib/python2.7/sre_constants.pyc matches /usr/lib/python2.7/sre_constants.py
import sre_constants # precompiled from /usr/lib/python2.7/sre_constants.pyc
import _locale # builtin
# /usr/lib/python2.7/_sysconfigdata.pyc matches /usr/lib/python2.7/_sysconfigdata.py
import _sysconfigdata # precompiled from /usr/lib/python2.7/_sysconfigdata.pyc
# /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.pyc matches /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py
import _sysconfigdata_nd # precompiled from /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.pyc
# /usr/lib/python2.7/sitecustomize.pyc matches /usr/lib/python2.7/sitecustomize.py
import sitecustomize # precompiled from /usr/lib/python2.7/sitecustomize.pyc
import encodings # directory /usr/lib/python2.7/encodings
# /usr/lib/python2.7/encodings/__init__.pyc matches /usr/lib/python2.7/encodings/__init__.py
import encodings # precompiled from /usr/lib/python2.7/encodings/__init__.pyc
# /usr/lib/python2.7/codecs.pyc matches /usr/lib/python2.7/codecs.py
import codecs # precompiled from /usr/lib/python2.7/codecs.pyc
import _codecs # builtin
# /usr/lib/python2.7/encodings/aliases.pyc matches /usr/lib/python2.7/encodings/aliases.py
import encodings.aliases # precompiled from /usr/lib/python2.7/encodings/aliases.pyc
# /usr/lib/python2.7/encodings/utf_8.pyc matches /usr/lib/python2.7/encodings/utf_8.py
import encodings.utf_8 # precompiled from /usr/lib/python2.7/encodings/utf_8.pyc
Python 2.7.14 (default, Sep 23 2017, 22:06:14) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
dlopen("/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so", 2);
import readline # dynamically loaded from /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so
>>> 
KeyboardInterrupt
>>> quit()
# clear __builtin__._
# clear sys.path
# clear sys.argv
# clear sys.ps1
# clear sys.ps2
# clear sys.exitfunc
# clear sys.exc_type
# clear sys.exc_value
# clear sys.exc_traceback
# clear sys.last_type
# clear sys.last_value
# clear sys.last_traceback
# clear sys.path_hooks
# clear sys.path_importer_cache
# clear sys.meta_path
# clear sys.flags
# clear sys.float_info
# restore sys.stdin
# restore sys.stdout
# restore sys.stderr
# cleanup __main__
# cleanup[1] encodings
# cleanup[1] site
# cleanup[1] sysconfig
# cleanup[1] abc
# cleanup[1] _weakrefset
# cleanup[1] sre_constants
# cleanup[1] re
# cleanup[1] _codecs
# cleanup[1] zope
# cleanup[1] _warnings
# cleanup[1] zipimport
# cleanup[1] _sysconfigdata
# cleanup[1] encodings.utf_8
# cleanup[1] repoze
# cleanup[1] readline
# cleanup[1] _sysconfigdata_nd
# cleanup[1] _locale
# cleanup[1] sitecustomize
# cleanup[1] signal
# cleanup[1] traceback
# cleanup[1] posix
# cleanup[1] encodings.aliases
# cleanup[1] exceptions
# cleanup[1] keyrings
# cleanup[1] _weakref
# cleanup[1] sre_compile
# cleanup[1] _sre
# cleanup[1] codecs
# cleanup[1] sre_parse
# cleanup[2] copy_reg
# cleanup[2] posixpath
# cleanup[2] errno
# cleanup[2] _abcoll
# cleanup[2] types
# cleanup[2] genericpath
# cleanup[2] stat
# cleanup[2] warnings
# cleanup[2] UserDict
# cleanup[2] os.path
# cleanup[2] linecache
# cleanup[2] os
# cleanup sys
# cleanup __builtin__
# cleanup ints: 19 unfreed ints
# cleanup floats
james@james-Streacom:~/pyethereum/sharding$ python3.6 setup.py install
running install
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/test-easy-install-21684.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python3.6/dist-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://setuptools.readthedocs.io/en/latest/easy_install.html

Please make the appropriate changes for your system and try again.

james@james-Streacom:~/pyethereum/sharding$ sudo python3.6 setup.py install
7[sudo] password for james: 
Sorry, try again.
[sudo] password for james: 
running install
running bdist_egg
running egg_info
creating sharding.egg-info
writing sharding.egg-info/PKG-INFO
writing dependency_links to sharding.egg-info/dependency_links.txt
writing requirements to sharding.egg-info/requires.txt
writing top-level names to sharding.egg-info/top_level.txt
writing manifest file 'sharding.egg-info/SOURCES.txt'
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/sharding
copying sharding/state_transition.py -> build/lib/sharding
copying sharding/main_chain.py -> build/lib/sharding
copying sharding/used_receipt_store_utils.py -> build/lib/sharding
copying sharding/shard_chain.py -> build/lib/sharding
copying sharding/config.py -> build/lib/sharding
copying sharding/contract_utils.py -> build/lib/sharding
copying sharding/receipt_consuming_tx_utils.py -> build/lib/sharding
copying sharding/stateless_collator.py -> build/lib/sharding
copying sharding/validator_manager_utils.py -> build/lib/sharding
copying sharding/collation.py -> build/lib/sharding
copying sharding/__init__.py -> build/lib/sharding
copying sharding/collator.py -> build/lib/sharding
creating build/lib/sharding/tools
copying sharding/tools/tester.py -> build/lib/sharding/tools
copying sharding/tools/__init__.py -> build/lib/sharding/tools
creating build/lib/sharding/tests
copying sharding/tests/test_used_receipt_store_utils.py -> build/lib/sharding/tests
copying sharding/tests/test_collation.py -> build/lib/sharding/tests
copying sharding/tests/test_validator_manager_utils.py -> build/lib/sharding/tests
copying sharding/tests/test_tester.py -> build/lib/sharding/tests
copying sharding/tests/test_used_receipt_store.py -> build/lib/sharding/tests
copying sharding/tests/test_state_transition.py -> build/lib/sharding/tests
copying sharding/tests/test_validator_manager.py -> build/lib/sharding/tests
copying sharding/tests/test_receipt_consuming_tx_utils.py -> build/lib/sharding/tests
copying sharding/tests/test_collator.py -> build/lib/sharding/tests
copying sharding/tests/test_main_chain.py -> build/lib/sharding/tests
copying sharding/tests/test_shard_chain.py -> build/lib/sharding/tests
copying sharding/tests/test_stateless_collator.py -> build/lib/sharding/tests
copying sharding/tests/__init__.py -> build/lib/sharding/tests
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/state_transition.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/main_chain.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/used_receipt_store_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/shard_chain.py -> build/bdist.linux-x86_64/egg/sharding
creating build/bdist.linux-x86_64/egg/sharding/tools
copying build/lib/sharding/tools/tester.py -> build/bdist.linux-x86_64/egg/sharding/tools
copying build/lib/sharding/tools/__init__.py -> build/bdist.linux-x86_64/egg/sharding/tools
copying build/lib/sharding/config.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/contract_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/receipt_consuming_tx_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/stateless_collator.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/validator_manager_utils.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/collation.py -> build/bdist.linux-x86_64/egg/sharding
creating build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_used_receipt_store_utils.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_collation.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_validator_manager_utils.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_tester.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_used_receipt_store.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_state_transition.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_validator_manager.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_receipt_consuming_tx_utils.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_collator.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_main_chain.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_shard_chain.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/test_stateless_collator.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/tests/__init__.py -> build/bdist.linux-x86_64/egg/sharding/tests
copying build/lib/sharding/__init__.py -> build/bdist.linux-x86_64/egg/sharding
copying build/lib/sharding/collator.py -> build/bdist.linux-x86_64/egg/sharding
byte-compiling build/bdist.linux-x86_64/egg/sharding/state_transition.py to state_transition.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/main_chain.py to main_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/used_receipt_store_utils.py to used_receipt_store_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/shard_chain.py to shard_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tools/tester.py to tester.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tools/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/config.py to config.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/contract_utils.py to contract_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/receipt_consuming_tx_utils.py to receipt_consuming_tx_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/stateless_collator.py to stateless_collator.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/validator_manager_utils.py to validator_manager_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/collation.py to collation.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_used_receipt_store_utils.py to test_used_receipt_store_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_collation.py to test_collation.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_validator_manager_utils.py to test_validator_manager_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_tester.py to test_tester.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_used_receipt_store.py to test_used_receipt_store.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_state_transition.py to test_state_transition.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_validator_manager.py to test_validator_manager.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_receipt_consuming_tx_utils.py to test_receipt_consuming_tx_utils.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_collator.py to test_collator.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_main_chain.py to test_main_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_shard_chain.py to test_shard_chain.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/test_stateless_collator.py to test_stateless_collator.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/tests/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/sharding/collator.py to collator.cpython-36.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying sharding.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating dist
creating 'dist/sharding-0.0.1-py3.6.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing sharding-0.0.1-py3.6.egg
removing '/usr/local/lib/python3.6/dist-packages/sharding-0.0.1-py3.6.egg' (and everything under it)
creating /usr/local/lib/python3.6/dist-packages/sharding-0.0.1-py3.6.egg
Extracting sharding-0.0.1-py3.6.egg to /usr/local/lib/python3.6/dist-packages
Adding sharding 0.0.1 to easy-install.pth file

Installed /usr/local/lib/python3.6/dist-packages/sharding-0.0.1-py3.6.egg
Processing dependencies for sharding==0.0.1
error: ethereum 2.3.0 is installed but ethereum==2.1.0 is required by {'viper'}
james@james-Streacom:~/pyethereum/sharding$ sudo USE_PYETHEREUM_DEVELOP=1 python setup.py develop
running develop
running egg_info
writing requirements to sharding.egg-info/requires.txt
writing sharding.egg-info/PKG-INFO
writing top-level names to sharding.egg-info/top_level.txt
writing dependency_links to sharding.egg-info/dependency_links.txt
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
running build_ext
Creating /usr/local/lib/python2.7/dist-packages/sharding.egg-link (link to .)
Adding sharding 0.0.1 to easy-install.pth file

Installed /home/james/pyethereum/sharding
Processing dependencies for sharding==0.0.1
error: ethereum 2.3.0 is installed but ethereum==2.1.3 is required by set(['viper'])

I'll delete the pyethereum folder and start from scratch.

jamesray1 commented 6 years ago

Well that didn't work:

james@james-Streacom:~$ git clone https://github.com/ethereum/pyethereum.git
Cloning into 'pyethereum'...
remote: Counting objects: 15686, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 15686 (delta 0), reused 0 (delta 0), pack-reused 15682
Receiving objects: 100% (15686/15686), 5.36 MiB | 871.00 KiB/s, done.
Resolving deltas: 100% (11665/11665), done.
james@james-Streacom:~$ virtualenv -p python3.6 pyethereum
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/james/pyethereum/bin/python3.6
Also creating executable in /home/james/pyethereum/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
james@james-Streacom:~$ cd pyethereum
james@james-Streacom:~/pyethereum$ pip install -r requirements.txt
Collecting https://github.com/ethereum/ethash/tarball/master (from -r requirements.txt (line 8))
  Downloading https://github.com/ethereum/ethash/tarball/master (1.2MB)
    100% |████████████████████████████████| 1.2MB 403kB/s 
Collecting pysha3>=1.0.1 (from -r requirements.txt (line 1))
  Using cached pysha3-1.0.2-cp27-cp27mu-manylinux1_x86_64.whl
Collecting PyYAML (from -r requirements.txt (line 2))
Collecting repoze.lru (from -r requirements.txt (line 3))
Collecting scrypt (from -r requirements.txt (line 4))
Collecting pbkdf2 (from -r requirements.txt (line 5))
Collecting py_ecc (from -r requirements.txt (line 6))
Collecting rlp>=0.4.7 (from -r requirements.txt (line 7))
Collecting pycryptodome>=3.4.7 (from -r requirements.txt (line 9))
  Using cached pycryptodome-3.4.8-cp27-cp27mu-manylinux1_x86_64.whl
Collecting coincurve>=7.0.0 (from -r requirements.txt (line 10))
  Using cached coincurve-7.0.0-cp27-cp27mu-manylinux1_x86_64.whl
Collecting future (from -r requirements.txt (line 11))
Collecting cffi>=1.3.0 (from coincurve>=7.0.0->-r requirements.txt (line 10))
  Using cached cffi-1.11.4-cp27-cp27mu-manylinux1_x86_64.whl
Collecting asn1crypto (from coincurve>=7.0.0->-r requirements.txt (line 10))
  Using cached asn1crypto-0.24.0-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.3.0->coincurve>=7.0.0->-r requirements.txt (line 10))
Installing collected packages: pysha3, PyYAML, repoze.lru, scrypt, pbkdf2, py-ecc, rlp, pycryptodome, pycparser, cffi, asn1crypto, coincurve, future, pyethash
  Running setup.py install for pyethash ... done
Successfully installed PyYAML-3.12 asn1crypto-0.24.0 cffi-1.11.4 coincurve-7.0.0 future-0.16.0 pbkdf2-1.3 py-ecc-1.4.2 pycparser-2.18 pycryptodome-3.4.8 pyethash-0.1.27 pysha3-1.0.2 repoze.lru-0.7 rlp-0.6.0 scrypt-0.8.0
Segmentation fault (core dumped)
james@james-Streacom:~/pyethereum$ git clone https://github.com/ethereum/sharding/
Cloning into 'sharding'...
remote: Counting objects: 1393, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 1393 (delta 2), reused 9 (delta 2), pack-reused 1382
Receiving objects: 100% (1393/1393), 346.98 KiB | 221.00 KiB/s, done.
Resolving deltas: 100% (975/975), done.
james@james-Streacom:~/pyethereum$ cd sharding
james@james-Streacom:~/pyethereum/sharding$ USE_PYETHEREUM_DEVELOP=1 python setup.py develop^C
james@james-Streacom:~/pyethereum/sharding$ sudo USE_PYETHEREUM_DEVELOP=1 python setup.py develop
[sudo] password for james: 
running develop
running egg_info
creating sharding.egg-info
writing requirements to sharding.egg-info/requires.txt
writing sharding.egg-info/PKG-INFO
writing top-level names to sharding.egg-info/top_level.txt
writing dependency_links to sharding.egg-info/dependency_links.txt
writing manifest file 'sharding.egg-info/SOURCES.txt'
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
running build_ext
Creating /usr/local/lib/python2.7/dist-packages/sharding.egg-link (link to .)
sharding 0.0.1 is already the active version in easy-install.pth

Installed /home/james/pyethereum/sharding
Processing dependencies for sharding==0.0.1
error: ethereum 2.3.0 is installed but ethereum==2.1.3 is required by set(['viper'])
jamesray1 commented 6 years ago

james@james-Streacom:~/pyethereum/sharding$ sudo USE_PYETHEREUM_DEVELOP=1 python3.6 setup.py develop
[sudo] password for james: 
running develop
running egg_info
creating sharding.egg-info
writing sharding.egg-info/PKG-INFO
writing dependency_links to sharding.egg-info/dependency_links.txt
writing requirements to sharding.egg-info/requires.txt
writing top-level names to sharding.egg-info/top_level.txt
writing manifest file 'sharding.egg-info/SOURCES.txt'
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
running build_ext
Creating /usr/local/lib/python3.6/dist-packages/sharding.egg-link (link to .)
Removing sharding 0.0.1 from easy-install.pth file
Adding sharding 0.0.1 to easy-install.pth file

Installed /home/james/pyethereum/sharding
Processing dependencies for sharding==0.0.1
error: ethereum 2.3.0 is installed but ethereum==2.1.0 is required by {'viper'}
james@james-Streacom:~/pyethereum/sharding$ source /home/james/pyethereum/bin/activate
(pyethereum) james@james-Streacom:~/pyethereum/sharding$ sudo USE_PYETHEREUM_DEVELOP=1 python3.6 setup.py develop
running develop
running egg_info
writing sharding.egg-info/PKG-INFO
writing dependency_links to sharding.egg-info/dependency_links.txt
writing requirements to sharding.egg-info/requires.txt
writing top-level names to sharding.egg-info/top_level.txt
reading manifest file 'sharding.egg-info/SOURCES.txt'
writing manifest file 'sharding.egg-info/SOURCES.txt'
running build_ext
Creating /usr/local/lib/python3.6/dist-packages/sharding.egg-link (link to .)
sharding 0.0.1 is already the active version in easy-install.pth

Installed /home/james/pyethereum/sharding
Processing dependencies for sharding==0.0.1
error: ethereum 2.3.0 is installed but ethereum==2.1.0 is required by {'viper'}
(pyethereum) james@james-Streacom:~/pyethereum/sharding$ 
ltfschoen commented 6 years ago

@jamesray1 I'm busy in Bokky Poobah workshop at the moment and haven't really had time to look into your issue properly yet, but if you're using Ubuntu, try following the steps that I added to the Dockerfile in this Pull Request https://github.com/ethereum/sharding/pull/51/files#diff-3254677a7917c6c01f55212f86c57fbfR1, as it's been written to generate an Ubuntu Docker Container

jamesray1 commented 6 years ago

@ltfschoen cool, I hadn't heard of the Bokky Poobah workshop before, maybe I'll swing by some time.

I've heard of Docker, but I haven't used it before.

What are the instructions for installing on my Ubuntu 17.10 system?

What I've tried: Manually add Dockerfile and docker-compose.yml to pyethereum/sharding

sudo apt-get install docker
cd pyethereum/sharding
docker build .

This is then taking a long time to run (it's still runnning), with several errors, but it continues after the errors.

https://gist.github.com/jamesray1/b773a34df5b98503896ea99e186b7b4e

jamesray1 commented 6 years ago

Well I missed capturing some of the output in the terminal, and can't be bothered to rerun it to capture the output to a file, but it seems that it ran successfully: Successfully built 665ac9b278fa.

jamesray1 commented 6 years ago

Ah, I think I used a different method to your readme.

I'll go through them:

sudo apt install docker-compose
/pyethereum/sharding$ docker-compose up --force-recreate --build -d

The last command outputs:

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/