亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 包管理器和 Node.js

Python 包管理器和 Node.js

繁花不似錦 2022-06-28 16:54:18
我正在嘗試使用 Node.js 編譯 python 腳本。python 腳本包括我安裝的一些模塊。我的 python 包管理器是 Anaconda,所以我嘗試提供以下{"shell":"path to anaconda prompt"}選項:var exec = require('child_process').exec;exec('python hello.py',{"shell":"path to anaconda prompt"}, ..callback)但是,我收到一個錯誤:{ Error: spawn C:\Users\dream\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda3) ENOENT    at Process.ChildProcess._handle.onexit (internal/child_process.js:232:19)    at onErrorNT (internal/child_process.js:407:16)    at process._tickCallback (internal/process/next_tick.js:63:19)    at Function.Module.runMain (internal/modules/cjs/loader.js:744:11)    at startup (internal/bootstrap/node.js:285:19)    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)  errno: 'ENOENT',  code: 'ENOENT',  syscall:   'spawn C:\\Users\\dream\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Anaconda3 (64-bit)\\Anaconda Prompt (Anaconda3)',  path:   'C:\\Users\\dream\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Anaconda3 (64-bit)\\Anaconda Prompt (Anaconda3)',  spawnargs: [ '/d', '/s', '/c', '"python hello.py"' ],  cmd: 'python hello.py' }stdout:stderr:我懷疑這是因為 Anaconda Prompt 只是一些奇怪的快捷方式,它為 cmd.exe 設置了一些變量(這是快捷方式指向的位置)。所以我的問題:我可以直接用 Node.js 調用 anaconda 提示符嗎?pip 也有外殼嗎?打包程序(pip、anaconda)如何使 python 可以訪問模塊?-> 這是通過一些環境變量嗎?我可以像他們一樣準備 cmd.exe 以使用 python 嗎?
查看完整描述

2 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

我認為您不想調用 Anaconda 提示符。

只需調用 python: python print('hello')。

如果您調用: 命令行會發生什么Anaconda Prompt (Anaconda3) print('hello')?

(這應該是評論,但我不能評論。)


查看完整回答
反對 回復 2022-06-28
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

我懷疑這是因為 Anaconda Prompt 只是一些奇怪的快捷方式,它為 cmd.exe 設置了一些變量

是的,差不多就是這樣。所以,不,我不認為你可以按照建議來稱呼它。可能有一種方法可以cmd.exe手動操作以使其像 Anaconda Prompt 會話一樣運行,但我建議嘗試...

康達運行

不確定這是否適用于 Windows,但可以用于conda run在 Conda 環境中執行。這是在 Conda v4.6 中作為實驗性功能引入(并且仍然保留)的,其明確目的是使人們能夠在 Conda 環境中運行某些東西而無需交互地激活它。

先決條件

首先,您可能應該測試它conda run在 Windows 上的工作原理。假設您conda.exe位于

C:\Users\dream\Anaconda3\Scripts\conda.exe

啟動一個干凈的cmd.exe會話,其中conda未定義(即不是 Anaconda 提示)。然后嘗試像

C:\Users\dream\Anaconda3\Scripts\conda.exe run where python

或者,如果你有另一個環境,說my_env你也可以

C:\Users\dream\Anaconda3\Scripts\conda.exe run -n my_env where python

驗證運行的 Python 解釋器是指定的解釋器。

(可能的)解決方案

如果上述方法有效,那么您應該可以執行類似的操作

var exec = require('child_process').exec;
exec('C:\Users\dream\Anaconda3\Scripts\conda.exe run python hello.py', ..callback)

不確定您是否需要在這種情況下指定的外殼。


查看完整回答
反對 回復 2022-06-28
  • 2 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號