gopherdata / gophernotes

The Go kernel for Jupyter notebooks and nteract.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot import third party packages

encryptblockr opened this issue · comments

I am trying to use a third party package within my gophernote and got the following error

repl.go:3:2: error loading package "gorm.io/driver/postgres" metadata, maybe you need to download (go get), compile (go build) and install (go install) it? can't find import: "gorm.io/driver/postgres"

now i docker exec -it gophernotes sh and then ran

/ # go get gorm.io/driver/postgres
# github.com/jackc/pgx/internal/sanitize
go/src/github.com/jackc/pgx/internal/sanitize/sanitize.go:85:15: undefined: strings.ReplaceAll
# gorm.io/gorm/utils
go/src/gorm.io/gorm/utils/utils.go:49:30: reflect.ValueOf(val).IsZero undefined (type reflect.Value has no field or method IsZero)
# github.com/jackc/pgconn
go/src/github.com/jackc/pgconn/errors.go:25:9: undefined: errors.As
go/src/github.com/jackc/pgconn/pgconn.go:221:6: undefined: errors.As
go/src/github.com/jackc/pgconn/pgconn.go:462:6: undefined: errors.As
go/src/github.com/jackc/pgconn/pgconn.go:472:15: undefined: errors.As
go/src/github.com/jackc/pgconn/pgconn.go:490:15: undefined: errors.As
# github.com/jackc/pgtype
go/src/github.com/jackc/pgtype/aclitem_array.go:89:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/bool_array.go:92:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/bpchar_array.go:92:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/bytea_array.go:73:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/cidr_array.go:112:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/date_array.go:93:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/enum_array.go:89:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/float4_array.go:92:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/float8_array.go:92:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/hstore_array.go:73:49: reflectedValue.IsZero undefined (type reflect.Value has no field or method IsZero)
go/src/github.com/jackc/pgtype/hstore_array.go:73:49: too many errors

how do we install third party packages to use in gophernote?

why is there no doc in README about how to do this?!?

Importing third-party packages is only supported on Linux and Mac OS X - on them, you just need to execute

import "some/package/path"

as described in gomacro README.md
(the interpreter used internally by gophernotes).

There is a way to import them also on Windows, but it's more complicated and it involves recompiling gophernotes (you need to adapt the procedure described at https://github.com/cosmos72/gomacro#other-systems).

If you are using Docker: I am not expert with Docker and cannot help with it - maybe others can (@sbinet ?)

@cosmos72 @sbinet

Standard packages work fine but does not with third party packages

I have this running inside docker using the latest official docker image gopherdata/gophernotes

Any workaround? am sure there are others using docker that work with codes that require third party packages
Really sad not to be to download packages as it makes gophernotes almost useless now if one cant download packages

@cosmos72 @sbinet

Seems gophernotes on docker can NOT make any external call period
Any way to fix this or get around this? Without being able to make any external calls, this is almost useless
It is like same thing as golang plyabook now, not being able to make any external calls

what do you mean?
ie: what did you try? and what was the outcome?

The error in the first post above suggests that gophernotes inside Docker is compiled without Go modules support.

If I understand correctly, @sbinet has updated Docker installation procedure to use a recent version of Go toolchain, which should also solve this issue.

Can you try again (following Docker installation procedure, not downloading the pre-built Docker image which quite likely still uses the old Go toolchain) ?

In case you are not using Docker, or if you want to try the plain Windows version of gophernotes, the procedure to import third-party packages from gophernotes on Windows is explained in issue 243

Any update on this one. Banging my head against the same issue... :)

Even though... When building my own image with the Dockerfile in the repo it works. The DockerHub image is 4 years old.