【发布时间】:2020-09-16 00:01:10
【问题描述】:
我有一个包含命令行脚本的 python 包。在成为安装在我的 conda 环境路径中的 LT.exe 的 Windows 上。 我正在使用 GNU make(来自 Rtools)来开发一个包含此命令行脚本、python 和 R 脚本的操作管道。问题是我无法识别命令行脚本。
例如我想运行make getpsII
.PHONY : getpsII
getpsII :
LT.exe --config $(SERVER_CONFIG)
在 conda shell 中直接在 WT 或 CMD 中运行 .exe 是可行的。通过 make 启动它不起作用。我明白了
make[2]: C:/Users/dominikschneider/Miniconda3/envs/plantcv/Scripts/LT.exe: Command not found
我尝试用 cmd /c 附加 LT.exe,在 make 文件中设置 SHELL=CMD,并为其提供 LT.exe 的绝对路径
我认为这与 Windows 如何处理可执行文件(?!)有关,但我们将不胜感激。 我正在使用 WIndows 10。谢谢!
编辑 - 在调用 exe 之前尝试显式设置 PATH:
(plantcv) C:\Users\dominikschneider\Documents\phenomics\doi>make getpsII
setx /M PATH="C:/Users/dominikschneider/Miniconda3/envs/plantcv/Scripts;/Users/dominikschneider/Miniconda3/envs/plantcv:/Users/dominikschneider/Miniconda3/envs/plantcv/Library/mingw-w64/bin:/Users/dominikschneider/Miniconda3/envs/plantcv/Library/usr/bin:/Users/dominikschneider/Miniconda3/envs/plantcv/Library/bin:/Users/dominikschneider/Miniconda3/envs/plantcv/Scripts:/Users/dominikschneider/Miniconda3/envs/plantcv/bin:/Users/dominikschneider/Miniconda3/condabin:/Rtools/bin:/Program Files/Microsoft MPI/Bin:/Python27:/Python27/Scripts:/ProgramData/Boxstarter:/Rtools/bin:/Rtools/mingw_32/bin:/Program Files (x86)/Common Files/Oracle/Java/javapath:/Windows/system32:/Windows:/Windows/System32/Wbem:/Windows/System32/WindowsPowerShell/v1.0:/Windows/System32/OpenSSH:/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/Program Files/CMake/bin:/Program Files/dcraw:/Program Files/nodejs:/ProgramData/chocolatey/bin:/Users/dominikschneider/AppData/Local/Programs/orca:/Program Files/Pandoc:/WINDOWS/System32/OpenSSH:/WINDOWS/system32:/WINDOWS:/WINDOWS/System32/Wbem:/WINDOWS/System32/WindowsPowerShell/v1.0:/Program Files/Microsoft VS Code/bin:/Program Files/Git LFS:/Program Files (x86)/Data Version Control:/Program Files/dotnet:/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/Program Files/Intel/Intel(R) Management Engine Components/DAL:/Program Files/Git/cmd:/Users/dominikschneider/AppData/Local/Programs/Python/Python37-32/Scripts:/Users/dominikschneider/AppData/Local/Programs/Python/Python37-32:/Users/Dominik Schneider/AppData/Local/atom/bin:/Users/Dominik Schneider/AppData/Roaming/npm:/Program Files (x86)/Nmap:/Users/dominikschneider/AppData/Local/Microsoft/WindowsApps:/Users/dominikschneider/AppData/Local/GitHubDesktop/bin:/Users/dominikschneider/AppData/Local/Programs/Microsoft VS Code Insiders/bin:/Users/dominikschneider/AppData/Local/atom/bin:/Users/dominikschneider/appdata/local/atom/bin"
WARNING: The data being saved is truncated to 1024 characters.
SUCCESS: Specified value was saved.
LT-db-extractor --config ..//cppcserver.config --outdir data/psII --exper doi
make: LT-db-extractor: Command not found
make: *** [Makefile:93: getpsII] Error 127
【问题讨论】:
-
你应该试试
./LT.exe -
感谢 Andreas 但同样的结果
make[2]: ./LT-db-extractor.exe: Command not found -
好吧,只是猜测。现在我看到windows路径是错误的。您应该使用 \ 而不是 /。而且我不喜欢那个警告的样子。设置后最好打印PATH并验证。
-
我不确定在路径前面是否重要。这个
/Users/dominikschneider/Miniconda3/envs/plantcv/Scripts已经在里面了。
标签: python windows makefile conda