首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"[Errno 2]没有这样的文件或目录:'solc‘“使用py-solc和solidity

"[Errno 2]没有这样的文件或目录:'solc‘“使用py-solc和solidity
EN

Ethereum用户
提问于 2017-09-11 06:53:05
回答 4查看 6.9K关注 0票数 4

I安装了py-solc和solidity:

solc,solidity编译器命令行接口版本: 0.4.16+commit.d7661dd9.Darwin.appleclang

并在python中运行以下代码(有一个契约源代码示例):

代码语言:javascript
复制
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)

和compile_source()函数返回了以下错误:

代码语言:javascript
复制
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'

如何解决此问题并使用py-solc?

进行编译?

EN

回答 4

Ethereum用户

发布于 2017-10-24 18:00:07

问题是solc没有安装在您的pc上。把它装进去

代码语言:javascript
复制
sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

或者你可以去这里

票数 9
EN

Ethereum用户

发布于 2021-11-21 21:32:31

我也遇到过这种情况。对我来说,这是因为切换了python环境。无论如何,这可以通过安装py-solc或更好的solc-select来解决。

代码语言:javascript
复制
pip3 install solc-select

Slyther repo 问题.

票数 1
EN

Ethereum用户

发布于 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

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/26192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档