solc,solidity编译器命令行接口版本: 0.4.16+commit.d7661dd9.Darwin.appleclang
from solc import compile_source, compile_files, link_code
source = """
pragma solidity ^0.4.2;
contract Example {
string s="Hello World!";
function set_s(string new_s) {
s = new_s;
}
function get_s() returns (string) {
return s;
}
}"""
compiled = compile_source(source)Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
compile_source("pragma solidity ^0.4.0;\n contract Foo {}", output_values=["bin", 'abi'])
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/solc/main.py", line 106, in compile_source
stdoutdata, stderrdata, command, proc = solc_wrapper(**compiler_kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/solc/utils/string.py", line 85, in inner
return force_obj_to_text(fn(*args, **kwargs))
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/solc/wrapper.py", line 155, in solc_wrapper
stderr=subprocess.PIPE)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'solc'进行编译?
发布于 2017-10-24 18:00:07
问题是solc没有安装在您的pc上。把它装进去
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc或者你可以去这里
发布于 2021-11-21 21:32:31
我也遇到过这种情况。对我来说,这是因为切换了python环境。无论如何,这可以通过安装py-solc或更好的solc-select来解决。
pip3 install solc-selectSlyther repo 问题.
发布于 2017-11-25 04:19:02
要求py-solc安装solc为了你还有一个实验特性:
以下任何一个版本的
solc都可以在列出的平台上使用py-solc安装。
v0.4.1 (linux)v0.4.2 (linux)v0.4.6 (linux)v0.4.7 (linux)v0.4.8 (linux/osx)v0.4.9 (linux)v0.4.11 (linux/osx)v0.4.12 (linux/osx)v0.4.13 (linux/osx)v0.4.14 (linux/osx)v0.4.15 (linux/osx)v0.4.16 (linux/osx)v0.4.17 (linux/osx)安装可以通过命令行完成:$ python -m solc.install v0.4.17
https://ethereum.stackexchange.com/questions/26192
复制相似问题