【问题标题】:How to import the tensorflow go packages when using go modules in a project?在项目中使用 go 模块时如何导入 tensorflow go 包?
【发布时间】:2019-07-23 18:53:35
【问题描述】:

所以我有一个项目,我正在使用 go 模块。但是我需要使用 tensorflow 包,但似乎 tensorflow 还不支持 go 模块。尽管缺少模块定义,有没有办法导入这两个依赖项?

以下 2 个导入似乎会导致问题:

tf "github.com/tensorflow/tensorflow/tensorflow/go"
"github.com/tensorflow/tensorflow/tensorflow/go/op"  

当我尝试下载软件包时,我得到以下输出:

$ go get -u "github.com/tensorflow/tensorflow/tensorflow/go/op"
go: finding github.com/tensorflow/tensorflow/tensorflow/go/op latest
go: finding github.com/tensorflow/tensorflow/tensorflow/go latest
go: finding github.com/tensorflow/tensorflow/tensorflow latest
go get github.com/tensorflow/tensorflow/tensorflow/go/op: no matching versions for query "latest"

但是在我的测试项目中,仍然使用旧的导入包的方式,一切正常。

编辑:

经过一些测试,我意识到这个问题只发生在 tensorflow 的 go 包上。所有其他的,即使最初不是用 go 模块编写的,也可以正常工作。

我更正了原始问题中的导入以及标题。

【问题讨论】:

  • 你输入命令时GO111MODULE环境变量的值是多少,你的工作目录是什么?
  • 所以我的GO111MODULE 变量似乎没有设置。起初我的项目位于$GOPATH/src 中,后来将它移到主目录中。而且我也升级到 1.12.7,但没有成功。
  • 这个问题是否可能是由 tensorflow 的异常* repo 结构引起的,其中 go 项目不在存储库的根目录下? *不寻常的意思是go项目的不寻常

标签: tensorflow go


【解决方案1】:

所以现在我使用一种肮脏的解决方法来解决这个问题。我刚刚通过删除 go.modgo.sum 文件并设置 GO111MODULE=off 完全从我的项目中删除了 go 模块。

这不是最好的解决方案,因此我不接受答案,但现在我可以继续工作。

【讨论】:

    猜你喜欢
    • 2019-10-06
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多