Code Monkey home page Code Monkey logo

Comments (11)

maurycyp avatar maurycyp commented on August 13, 2024

Hi @donal6343 , could you provide more info (OS, installation method, etc). I am able to install ethjsonrpc 0.2.7 from PyPI (pip install ethjsonrpc) and by cloning the repo and running python setup.py install.

from ethjsonrpc.

donal6343 avatar donal6343 commented on August 13, 2024

Windows 8, pip install ethjsonrpc or on the Mac, same issue

from ethjsonrpc.

donal6343 avatar donal6343 commented on August 13, 2024

I think its related to the ethash install https://github.com/ethereum/ethash/blob/master/src/python/core.c

from ethjsonrpc.

jimkberry avatar jimkberry commented on August 13, 2024

The ethash code is C99, which is not well-supported under Windows.

from ethjsonrpc.

donal6343 avatar donal6343 commented on August 13, 2024

Any way to get around this? Really want to install this

from ethjsonrpc.

jimkberry avatar jimkberry commented on August 13, 2024

Back when I was messing with it I converted all of the ethash C99 to C++ (not hard if you are a C++ programmer) but that was not so much for pyethereum as it was for compiling a miner. There are other pyethereum hangups under Windows, if I recall (leveldb seems to me was a problem.)

from ethjsonrpc.

goon034 avatar goon034 commented on August 13, 2024

That dependecy (pyethash) seems to be the hangup for me too. I wanted to start relaying for btcrelay but I tried to install pyethash and secp256k1 and both of them are really causing issues. I cloned the pyethash into my venv and tried inputing:

python install setup.py

However, I ran into issues with finding vcvarsall.bat. Is there a fix?

from ethjsonrpc.

golyalpha avatar golyalpha commented on August 13, 2024

@goon034 secp256k1 does cause issues on windows, you should install secp256k1-transient instead (until it gets merged into the secp256k1).

from ethjsonrpc.

jimkberry avatar jimkberry commented on August 13, 2024

Note that under Windows you can skip the c_secp256k1 install (comment it out) and code from the bitcoin package will be used as a fallback.

from ethjsonrpc.

ferret-guy avatar ferret-guy commented on August 13, 2024

After I struggled with this issue for a long time I realized that ethjsonrpc only uses the utils and abi py files from pyethereum and does not need all the other stuff from there. I have created a branch for my own uses here: https://github.com/LiteID/ethjsonrpc/tree/master/ethjsonrpc that just includes thease files. After looking at the licensing pyethereum code is compatible with ethjsonrpc and could be included.

tldr: we only need some files and you can get a version that works in python 2.7 at lease from https://github.com/LiteID/ethjsonrpc/tree/master/ethjsonrpc (let me know if this is a solution that would work for you guys and I can make a pull request)

from ethjsonrpc.

thedogrex avatar thedogrex commented on August 13, 2024

I think it is x86 / x64 compability error.

I've used python 3.9.0 and these steps worked for me
(with py-evm project on python https://github.com/ethereum/py-evm):

  1. Download pyethash 0.1.27:
    https://pypi.org/project/pyethash/0.1.27/#files
    and unpack archive in lib folder in your project. I've unpacked at /virtualenv/Lib/site-packages/pyethash-0.1.27 folder

  2. Download ethash from git:
    https://github.com/ethereum/ethash

  3. Copy all files form ethash folder to /virtualenv/Lib/site-packages/pyethash-0.1.27

  4. Change /pyethash-0.1.27/src/libethash/mmap.h add this code to the end of file:

#pragma comment(lib, "Shell32.lib")
  1. Change pyethash-0.1.27\src\python\core.c file - replace #include <alloca.h> by the code:
#if defined(_WIN32) || defined(WIN32)
#include <malloc.h>
#else
#include <alloca.h>
#endif
  1. Zip /virtualenv/Lib/site-packages/pyethash-0.1.27 folder and remove that folder (zip archive will stay).

  2. Run pip install for new created zip /virtualenv/Lib/site-packages/pyethash-0.1.27.zip

  3. It can conflict with versions: ethash have 0.1.23 version instead of 0.1.27, i just changed my requerements to 0.1.23 and it worked for me. You can try to copy not all files (from ethhash to pyethhash), just files one by one that breaks the compilation.

from ethjsonrpc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.