我的程序与1.4.2完美搭配。安装完1.5之后,我收到了以下错误。
导入运行时:不使用cgo或时不允许使用C源文件 SWIG:atomic_amd64x.c defs.c float.c heapdump.c lfstack.c malloc.c mcache.c mcentral.c mem_linux.c mfixalloc.c mgc0.c mheap.c msize.c os_linux.c panic.c parfor.c proc.c runtime.c signal.c signal_amd64x.c signal_unix.c stack.c string.c sys_x86.c vdso_linux_amd64.c
错误与程序无关。甚至是一个" Hello world"程序正在抛出相同的错误。
答案 0 :(得分:52)
删除旧的1.4.x go安装,然后安装go 1.5。
安装go 1.5后我遇到了同样的问题。问题是我在1.4.2的同一个地方安装了1.5。 Go 1.5不再使用C,如果存在旧的C安装文件,则会在显示时抛出错误。
如果您希望旧安装也存在,请将1.5安装到其他位置并将GOROOT设置为该位置。
希望它有所帮助。
编辑1:对于Linux用户:
如果您下载了go1.5 * .tar.gz,那么您就这样做了:
tar -C / usr / local / -xvf go1.5.linux-amd64.tar.gz
您的旧文件夹C文件未被删除,因此正确的过程是:
首先:您应该删除旧的go文件夹。
sudo rm -rf / usr / local / go /
第二:然后运行
tar -C / usr / local / -xvf go1.5.x.linux-amd64.tar.gz
答案 1 :(得分:2)
我遇到同样的问题,因为我在我的机器上安装了两个版本的golang,一个来自官方网站,另一个来自自制软件。
GOROOT与go二进制文件不匹配,我只用正确的GOROOT替换GOROOT,然后完成。
from flask import Flask
from flask_restful import Resource, Api
from flask_restful import reqparse
from sqlalchemy import create_engine
e = create_engine("x")
parser = reqparse.RequestParser()
parser.add_argument('cust_country', type = str)
parser.add_argument('cust_name', type = str)
app = Flask(__name__)
api = Api(app)
class Dep(Resource):
def get(self):
args = parser.parse_args()
conn = e.connect()
query = conn.execute("select cust_id from customers where cust_country = ? and cust_name = ?", [args['cust_country'], args['cust_name']])
return {'custid': [i[0] for i in query.cursor.fetchall()]}
api.add_resource(Dep, '/customers')
if __name__ == '__main__':
app.run()
答案 2 :(得分:1)
我在编辑器中遇到过这个问题(sublime text 2)。我打电话给保存的构建,看起来我的编辑器指向1.4.x而不是新安装的1.5。