40114


いつもお世話になります。  
goについて教えてください。github上に公開されている、goからpythonのコードをよぶためのライブラリの利用法がよく分からないのでご教授をお願いします。以下です。

<https://github.com/sbinet/go-python>

こちらのライブラリは3系では、動かず、2系でうごくようです。間違っていたらすいません。  
例えば

// sample.py

[code]

    print "Hello world!"
    
[/code]

をよびだすためには、go側をどのようにソースを書けば良いのかわからず悩んでいます。  
よろしくお願いします。


CC BY-SA 3.0
2017-12-06T06:45:40.300
40079
2017-12-08T05:10:43.400
2017-12-06T08:30:41.933
19110
22730
question
python go python2
go-pythonの使い方を教えてください。


README.md に書いてあるとおり、go-python は基本的に [Python/C API for CPython
2](https://docs.python.org/2.7/c-api/index.html) を Go 1 向けに移植したものなので、Python/C
API のサンプルコードを探すのが分かりやすいと思います。go-python はどちらかというと Python を拡張するモジュールを Go
で書くためのものですが、一応 [`PyRun_SimpleFile`](https://godoc.org/github.com/sbinet/go-
python#PyRun_SimpleFile) を使うと外部の Python スクリプトを実行することができます。

[code]

    package main
    
    import (
        "github.com/sbinet/go-python"
    )
    
    func init() {
        err := python.Initialize()
        if err != nil {
            panic(err.Error())
        }
    }
    
    func main() {
        err := python.PyRun_SimpleFile("./sample.py")
        if err != nil {
            panic(err.Error)
        }
    }
    
[/code]

* * *

### 補足

Python 3 を視野に入れる場合、同じ作者が作っている <https://github.com/go-python/gopy>
の方が良いかもしれません。


CC BY-SA 3.0
2017-12-07T10:18:01.867
40114
2017-12-08T05:10:43.400
2017-12-08T05:10:43.400
19110
19110
40079
answer