Oops, I was unclear. Trying to interact with the windows shell using Python and subprocess throws errors and requires a lot of OS specific code. Id rather just virtualise Linux and do it that way as it has no troubles (like my Mac)
I think this is a mouthful that deserves its own thread (and maybe even explanations on how to do it for the curious minds like me
Just using the Linux cli in a virtuall machine on windows because it doesnāt play nice with some things in python.
If you feel like it, documenting a how-to would be nice. Iād like to learn how to do thatā¦
Okay tonight Iāll make something pretty
Donāt think I have ever tried subprocess under Windows, anyhow if I use Python it is in cygwin - I suspect most of the annoyances are due to paths, which cygwin can help to address as it gives posix style paths to Windows drive letters.
I think any recent linux distro would be fine, I donāt think there are any dependencies other than libc / libstdc++ (I couldnāt run on my 2016 vintage Debian machines due to those not being recent enough).
There is also some code paths that need to be run which are windows specific. I was getting a lot of errors to do with processes and shared memory.
now I go back to my script it works fine and doesnāt complain. The key part is that anything that fork()s or referes to a globally piece of shared memory needs to be inside this style code block:
if __name__ == '__main__':
## Hygiene
wipe_dir(tmp)
## Global Dicts for writing out results
mfcc_dict = mp.Manager().dict()
process()
Given that windows seems to be working in python okay now I didnāt want to spend too much time figuring out the Linux thing if I wasnāt going to use it.
That said perhaps I can point you towards the resources I have used and would use.
Downloads ā Oracle VM VirtualBox ā Download any .iso image of an OS (ubuntu, manjero, gnome) etc and simply run it within windows. Its very point and click and solves most of the complexity for you. Its basically parallels but free and in some ways superior. Then you just use the OS as you would to run the tools!
ok, a quick one (and sorry to be dumb) - there is a VM box for Mac OS. Do I need to download that (on MacOS) and then run a Linux Virtual Machine?
Im not sure what you mean? You can run Linux inside your VM program (Virtual Box, Parallels) on whatever OS that is (Mac/OS/Linux (to virtualise other Linux distros)). You could run a Linux virtual machine from inside the program I linked on MacOS using the MacOS host
download.
Ah ok. Iāve never done either VM platform you present there, so Iāll have to investigate. That could help me troubleshoot PureData under Linux, which I donāt ownā¦ but I think @groma tried the free options and lost patience (and a lot of time) and settled for Parallelsā¦
It is very painless on Windows, I had Ubuntu up and running in less than 20 minutes including download. Perhaps we can sit down in person to figure it out. I would assume on MacOS parallels is the way to go. It is popular because it works and is supported by fungible monies and not good will so it (should) work better. Iāll give VMing into Linux on my Mac a go using free stuff.
sorry. this error was being caused by FluidCorpusMap