我得到的错误如下。我已经通过以下方式安装了pythereum所需的依赖项:
brew install --force pkg-config libffi autoconf automake libtool openssl
我得到的回应是
Warning: pkg-config-0.29.1_2 already installed
Warning: libffi-3.0.13 already installed, it's just not linked.
Warning: autoconf-2.69 already installed
Warning: automake-1.15 already installed
Warning: libtool-2.4.6_1 already installed
Warning: openssl-1.0.2k already installed, it's just not linked.
然后我尝试链接未链接的库:
(ENV) Madhavs-MacBook-Air:pyethereum madhavsharma$ brew unlink libffi && brew link --force libffi
Unlinking /usr/local/Cellar/libffi/3.0.13... 0 symlinks removed
Linking /usr/local/Cellar/libffi/3.0.13... 10 symlinks created
然而,在尝试链接openssl时,我得到了这个
(ENV) Madhavs-MacBook-Air:pyethereum madhavsharma$ brew unlink openssl && brew link --force openssl
Unlinking /usr/local/Cellar/openssl/1.0.2k... 0 symlinks removed
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
我不完全确定如何解释此消息,我不确定为什么会出现下载错误,因为我已粘贴到下面。任何关于安装pythereum的一般指导都将受到赞赏。
(ENV) My-computer:pyethereum user$ pip3 install -r requirements.txt
Collecting https://github.com/ethereum/ethash/tarball/master (from -r requirements.txt (line 9))
Downloading https://github.com/ethereum/ethash/tarball/master (76kB)
100% |████████████████████████████████| 81kB 540kB/s
Collecting bitcoin (from -r requirements.txt (line 1))
Using cached bitcoin-1.1.42.tar.gz
Collecting pysha3 (from -r requirements.txt (line 2))
Using cached pysha3-1.0.2.tar.gz
Collecting PyYAML (from -r requirements.txt (line 3))
Using cached PyYAML-3.12.tar.gz
Collecting repoze.lru (from -r requirements.txt (line 4))
Using cached repoze.lru-0.6.tar.gz
Collecting pbkdf2 (from -r requirements.txt (line 5))
Using cached pbkdf2-1.3.tar.gz
Collecting pycryptodome>=3.3.1 (from -r requirements.txt (line 6))
Using cached pycryptodome-3.4.5.tar.gz
Collecting scrypt (from -r requirements.txt (line 7))
Using cached scrypt-0.8.0.tar.gz
Collecting rlp>=0.4.4 (from -r requirements.txt (line 8))
Using cached rlp-0.4.7.tar.gz
Collecting secp256k1 (from -r requirements.txt (line 10))
Using cached secp256k1-0.13.2.tar.gz
Complete output from command python setup.py egg_info:
0.29.1
Download error on https://pypi.python.org/simple/pytest-runner/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
Couldn't find index page for 'pytest-runner' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
No local packages or working download links found for pytest-runner==2.6.2
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/c7/m5bh8s6d7nn1prj5x4dk6lp00000gn/T/pip-build-s_ta8_h3/secp256k1/setup.py", line 295, in <module>
"Topic :: Security :: Cryptography"
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/setuptools/dist.py", line 315, in __init__
self.fetch_build_eggs(attrs['setup_requires'])
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/setuptools/dist.py", line 361, in fetch_build_eggs
replace_conflicting=True,
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/pkg_resources/__init__.py", line 850, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1122, in best_match
return self.obtain(req, installer)
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1134, in obtain
return installer(requirement)
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/setuptools/dist.py", line 429, in fetch_build_egg
return cmd.easy_install(req)
File "/Users/madhavsharma/Desktop/pyethereum/ENV/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 659, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pytest-runner==2.6.2')
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/c7/m5bh8s6d7nn1prj5x4dk6lp00000gn/T/pip-build-s_ta8_h3/secp256k1/
答案 0 :(得分:0)
我有点不确定您使用--force
进行链接的原因,但首先尝试没有强制标记的所有内容。
其次,我认为您可以忽略链接器警告,因为openssl
已经可用,因此brew没有链接其他已安装的版本。
最后,您的上一期问题是由于缺少证书而pip
不知道如何处理它。解决方法是使用https
忽略--index-url
并将http url作为参数传递,然后将其设置为--trusted-host
来源,即
pip3 install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org -r requirements.txt
我希望能帮助您完成整个过程。