jjzjj

python - 直接调用与 Python 子进程时 GOPATH 的解释不同

coder 2024-07-12 原文

我最近发现了 Python getpass 无法在 Windows 上运行的修复:Python not working in the command line of git bash

或者至少那是我记得的关于更改 Python 配置的最后一件事。 (这是针对 Windows 10 上的 Python 3.6.1)

现在我也将 Python 用于其他任务,这些任务只需调用子进程以在终端上键入多个命令:

go build ./folder/
mv ./src/ ./bin/

我收到错误:go: GOPATH entry is relative;必须是绝对的:“/c/Users/OP/work”。但是,如果我自己输入 go build ./src/folder,我就无法理解。 我在环境变量中将 GOPATH 设置为 C:\work。我试过使用 ;

有没有办法每次都反转别名python?或者将 python 的别名设置为 winpty 时到底发生了什么?

我在想,当我直接调用 go build 时,它是由我的用户配置文件或系统调用的。而当python的subprocess调用它的时候,它调用的是相反的。因此,即使我在环境变量中只设置了 1 个,我也有两个 GOPATH 变量。

旁注:最近对 GOPATH 的另一个更改是从 C:/go 更改它,因为它不能与 GOROOT 相同。由于某种原因,该错误随机弹出。它使用该设置工作了一段时间,我不记得之前更改过任何内容,只是在许多其他已经使用的导入包之上添加了另一个导入包。

更新:使用 type python 我得到结果:python 的别名是“winpty python.exe”。因此,我尝试使用 unalias python 撤消它。我得到的新结果是:python is hashed (/c/Users/OP/AppData/Local/Programs/Python/Python36/python)

这修复了 Python 子进程中的 go build 命令。但是,该别名修复了使用 getpass 包时出现的另一个 Python 问题。

最佳答案

除了我的 unalias python 修复之外,我还发现了一些有趣的事情:当我将 GOPATH 的环境变量从 C:\work; 更改为 C 时:\go,所有go命令仍然会报错go: GOPATH entry is relative;必须是绝对的:“”。我在更新 Windows 10 时遇到了同样的错误(但路径不同)Fall Creators更新。也许是相关的。

只需关闭 MINGW 并重新打开它即可解决问题。所以也许它是在说我的环境变量的副本并将其用作引用而不是实际的系统属性。

我知道这不是一个热门问题,但有人可以从我的调查和调试时间中获益。

关于python - 直接调用与 Python 子进程时 GOPATH 的解释不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47442153/

有关python - 直接调用与 Python 子进程时 GOPATH 的解释不同的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  3. ruby - 通过 ruby​​ 进程共享变量 - 2

    我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是

  4. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  5. ruby - 有人可以帮助解释类创建的 post_initialize 回调吗 (Sandi Metz) - 2

    我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法

  6. c# - 如何在 ruby​​ 中调用 C# dll? - 2

    如何在ruby​​中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL

  7. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  8. ruby - 调用其他方法的 TDD 方法的正确方法 - 2

    我需要一些关于TDD概念的帮助。假设我有以下代码defexecute(command)casecommandwhen"c"create_new_characterwhen"i"display_inventoryendenddefcreate_new_character#dostufftocreatenewcharacterenddefdisplay_inventory#dostufftodisplayinventoryend现在我不确定要为什么编写单元测试。如果我为execute方法编写单元测试,那不是几乎涵盖了我对create_new_character和display_invent

  9. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  10. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

随机推荐