ببینید بعضی از دستورات و کتابخانه ها توی سیستم عامل های متفاوت مشترک نیستن و کدهایی مثل این چون بعضا از یک سری ویژگی های سیستمی استفاده میکنند به همین خاطر با این که به زبان پایتون هستن اما فقط توی همون سیستم عاملی که نوشته شدن قابل اجرا هستن. به همین خاطر یا باید از سیستم عامل مشابه استفاده کنید یا خودتون ویرایشش کنید و ارورها رو بر طرف کنید.
docker محیطی است که یک محیط پایتون مجزای از اون چیزی که روی سیستم شما است برای شما ایجاد میکنه. یه مثال ساده از کاربردش براتون بزنم اینه که شما مثلا روی پایتونی که توی سیستم نصبه کتابخانه numpy 10 رو دارید اما مثلا برای این کد به نسخه 11 نیازه و شما نمیخواید نسخه سیستمتون رو عوض کنید. برای این کار docker یا virtualenv مناسبه. فکر نکنم از vmware بشه استفاده کرد. تا جایی که میدونم این دو کاملا متفاوتن با هم.
یه نکته مجزا از این ها هم بگم شاید به کارتون بیاد. تا جایی که میدونم روی ماشین مجازی که با vmware بالا میاد کارت گرافیک یا همون GPU رو نمیشه دید. بنابراین اگر میخواید این کد رو با GPU ران کنید لینوکس رو روی vmware نصب نکنید. بلکه اون کنار ویندوزتون نصب کنید به عنوان سیسم عامل دوم.