mechboxes / mech Goto Github PK
View Code? Open in Web Editor NEWEasy command line virtual machines for VMWare
Home Page: https://mechboxes.github.io/mech/
License: MIT License
Easy command line virtual machines for VMWare
Home Page: https://mechboxes.github.io/mech/
License: MIT License
Hi,
I have created .box using packer and i have stored it on my local system. How can use it using mech
error what i am getting.
$ mech init windows_2008_r2_vmware.box
Initializing mech
A Mechfile
has been initialized and placed in this directory. You
are now ready to mech up
your first virtual environment!
$ mech up
Provided box name is not valid
Loading metadata for box 'windows_2008_r2_vmware'
Bad response from HashiCorp's Vagrant Cloud API: 404 Client Error: Not Found for url: https://app.vagrantup.com/windows_2008_r2_vmware/boxes/boxes
$ mech start
Provided box name is not valid
Loading metadata for box 'windows_2008_r2_vmware'
Bad response from HashiCorp's Vagrant Cloud API: 404 Client Error: Not Found for url: https://app.vagrantup.com/windows_2008_r2_vmware/boxes/boxes
Is there any documentation on the provision feature or a sample Mechfile that I can reference to do things like a provision shell script?
mech could really benefit from some tab completion for VMs and for commands.
mech init
mech up
// not working
File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech==0.7.6', 'console_scripts', 'mech')()
File "c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages\mech\__main__.py", line 39, in main
return Mech(arguments)()
File "c:\users\user\appdata\local\programs\python\python37-32\lib\site-
packages\mech\command.py", line 89, in __call__
obj = klass(arguments)
File "c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages\mech\mech.py", line 569, in init
if utils.init_mechfile(instance_name, url, name=name, version=version, requests_kwargs=requests_kwargs):
File "c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages\mech\utils.py", line 468, in init_mechfile
path = index_active_instance(instance_name)
File "c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages\mech\utils.py", line 457, in index_active_instance
'path': path,
File "c:\users\user\appdata\local\programs\python\python37-32\lib\site-packages\mech\utils.py", line 200, in settle_instance
instances = json.loads(uncomment(fp.read()))
File "c:\users\user\appdata\local\programs\python\python37-32\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "c:\users\user\appdata\local\programs\python\python37-32\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\users\user\appdata\local\programs\python\python37-32\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 3 (char 4)
mech destroy had OSError
on my environment VMWare Fusion 11 with macOS High Sierra.
It seems that vmrun deleteVM
has removed VM's instance path after vmrun deleteVM
.
$ mech destroy
Are you sure you want to delete mechtest at /Users/takashi/Development/mechtest [y/N] y
Deleting...
Traceback (most recent call last):
File "/usr/local/bin/mech", line 10, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/mech/__main__.py", line 39, in main
return Mech(arguments)()
File "/usr/local/lib/python2.7/site-packages/mech/command.py", line 89, in __call__
obj = klass(arguments)
File "/usr/local/lib/python2.7/site-packages/mech/mech.py", line 720, in destroy
shutil.rmtree(mech_path)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 262, in rmtree
onerror(os.listdir, path, sys.exc_info())
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 260, in rmtree
names = os.listdir(path)
OSError: [Errno 2] No such file or directory: '/Users/takashi/Development/mechtest/.mech'
I used packer-windows to create a vagrant file.
I then am trying to use it here to add it to VMWare Fusion on Mac OSX
$ mech init packer-windows/windows_2008_r2_vmware.box --name=luke
Initializing mech
Checking box integrity...
Extracting...
What username would you like to save? [mech] mike
Saving /Users/miketweaver/.mech/luke/mechfile
Finished.
Saving ./mechfile
Finished.
$ mech up luke
Getting IP address...
VM started on Error: Cannot open VM: /Users/miketweaver/.mech/luke/packer-vmware-iso.vmx, Cannot read the virtual machine configuration file
Sharing current folder...
VM started on Error: Cannot open VM: /Users/miketweaver/.mech/luke/packer-vmware-iso.vmx, Cannot read the virtual machine configuration file
/Users/miketweaver/.mech/luke/packer-vmware-iso.vmx
.encoding = "UTF-8"
bios.bootorder = "hdd,CDROM"
checkpoint.vmstate = ""
cleanshutdown = "TRUE"
config.version = "8"
displayname = "packer-vmware-iso"
ehci.pcislotnumber = "-1"
ehci.present = "FALSE"
ethernet0.addresstype = "generated"
ethernet0.bsdname = "en0"
ethernet0.connectiontype = "nat"
ethernet0.displayname = "Ethernet"
ethernet0.linkstatepropagation.enable = "FALSE"
ethernet0.pcislotnumber = "33"
ethernet0.present = "TRUE"
ethernet0.virtualdev = "e1000"
ethernet0.wakeonpcktrcv = "FALSE"
extendedconfigfile = "packer-vmware-iso.vmxf"
floppy0.present = "FALSE"
guestos = "windows7srv-64"
gui.fullscreenatpoweron = "FALSE"
gui.viewmodeatpoweron = "windowed"
hgfs.linkrootshare = "TRUE"
hgfs.maprootshare = "TRUE"
ide1:0.clientdevice = "TRUE"
ide1:0.devicetype = "cdrom-raw"
ide1:0.filename = "auto detect"
ide1:0.present = "TRUE"
isolation.tools.hgfs.disable = "FALSE"
memsize = "2048"
migrate.hostlog = "./packer-vmware-iso-4f7ac82b.hlog"
monitor.phys_bits_used = "40"
msg.autoanswer = "true"
numa.autosize.cookie = "20001"
numa.autosize.vcpu.maxpervirtualnode = "2"
numvcpus = "2"
nvram = "packer-vmware-iso.nvram"
pcibridge0.pcislotnumber = "17"
pcibridge0.present = "TRUE"
pcibridge4.functions = "8"
pcibridge4.pcislotnumber = "21"
pcibridge4.present = "TRUE"
pcibridge4.virtualdev = "pcieRootPort"
pcibridge5.functions = "8"
pcibridge5.pcislotnumber = "22"
pcibridge5.present = "TRUE"
pcibridge5.virtualdev = "pcieRootPort"
pcibridge6.functions = "8"
pcibridge6.pcislotnumber = "23"
pcibridge6.present = "TRUE"
pcibridge6.virtualdev = "pcieRootPort"
pcibridge7.functions = "8"
pcibridge7.pcislotnumber = "24"
pcibridge7.present = "TRUE"
pcibridge7.virtualdev = "pcieRootPort"
powertype.poweroff = "soft"
powertype.poweron = "soft"
powertype.reset = "soft"
powertype.suspend = "soft"
proxyapps.publishtohost = "FALSE"
remotedisplay.vnc.enabled = "FALSE"
remotedisplay.vnc.ip = "127.0.0.1"
remotedisplay.vnc.key = "REDACTED"
remotedisplay.vnc.password = "REDACTED"
remotedisplay.vnc.port = "5939"
replay.filename = ""
replay.supported = "FALSE"
scsi0.pcislotnumber = "160"
scsi0.present = "TRUE"
scsi0.saswwid = "50 05 05 6f 90 ae 79 b0"
scsi0.virtualdev = "lsisas1068"
scsi0:0.filename = "disk.vmdk"
scsi0:0.present = "TRUE"
scsi0:0.redo = ""
softpoweroff = "TRUE"
sound.startconnected = "FALSE"
tools.synctime = "TRUE"
tools.upgrade.policy = "upgradeAtPowerCycle"
usb.pcislotnumber = "-1"
usb.present = "FALSE"
uuid.action = "create"
uuid.bios = "56 4d 1d 1f 90 ae 79 bc-9f e1 6a 3d 0d d0 29 53"
uuid.location = "56 4d 1d 1f 90 ae 79 bc-9f e1 6a 3d 0d d0 29 53"
virtualhw.productcompatibility = "hosted"
virtualhw.version = "9"
vmci0.id = "1861462627"
vmci0.pcislotnumber = "35"
vmci0.present = "TRUE"
vmotion.checkpointfbsize = "134217728"
ethernet0.addresstype=generated
ethernet0.bsdname=en0
ethernet0.connectiontype=nat
ethernet0.displayname=Ethernet
ethernet0.linkstatepropagation.enable=FALSE
ethernet0.pcislotnumber=32
ethernet0.present=TRUE
ethernet0.virtualdev=e1000
ethernet0.wakeonpcktrcv=FALSE
Any suggestions on what could be going wrong here?
You want to be able to stop a VM from anywhere and start a VM from anywhere
A grep through the mech status
output would likely work.
I'm trying to import a freebsd box, but this results in the following error.
╰─ mech init https://app.vagrantup.com/roboxes/boxes/freebsd11
Initializing mech
Traceback (most recent call last):
File "/Users/sharky/.pyenv/versions/ansible/bin/mech", line 11, in
load_entry_point('mech==0.7.6', 'console_scripts', 'mech')()
File "/Users/sharky/.pyenv/versions/3.5.7/envs/ansible/lib/python3.5/site-packages/mech/main.py", line 39, in main
return Mech(arguments)()
File "/Users/sharky/.pyenv/versions/3.5.7/envs/ansible/lib/python3.5/site-packages/mech/command.py", line 89, in call
obj = klass(arguments)
File "/Users/sharky/.pyenv/versions/3.5.7/envs/ansible/lib/python3.5/site-packages/mech/mech.py", line 569, in init
if utils.init_mechfile(instance_name, url, name=name, version=version, requests_kwargs=requests_kwargs):
File "/Users/sharky/.pyenv/versions/3.5.7/envs/ansible/lib/python3.5/site-packages/mech/utils.py", line 474, in init_mechfile
path = index_active_instance(instance_name)
File "/Users/sharky/.pyenv/versions/3.5.7/envs/ansible/lib/python3.5/site-packages/mech/utils.py", line 463, in index_active_instance
'path': path,
File "/Users/sharky/.pyenv/versions/3.5.7/envs/ansible/lib/python3.5/site-packages/mech/utils.py", line 222, in settle_instance
json.dump(instances, fp, sort_keys=True, indent=2, separators=(',', ': '))
File "/Users/sharky/.pyenv/versions/3.5.7/lib/python3.5/json/init.py", line 178, in dump
for chunk in iterable:
File "/Users/sharky/.pyenv/versions/3.5.7/lib/python3.5/json/encoder.py", line 429, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "/Users/sharky/.pyenv/versions/3.5.7/lib/python3.5/json/encoder.py", line 352, in _iterencode_dict
items = sorted(dct.items(), key=lambda kv: kv[0])
TypeError: unorderable types: NoneType() < str()
While https://mechboxes.github.io/mech/docs/installation/ states that mech runs with Python 2 or 3, the module vmrun.py imports _winreg which was renamed into winreg in Python 3.
This is a Windows specific issue.
Mech output:
$mech up
Loading metadata for box 'bento/ubuntu-16.04' (201806.08.0)
Box 'bento/ubuntu-16.04' could not be found. Attempting to download...
URL: https://vagrantcloud.com/bento/boxes/ubuntu-16.04/versions/201806.08.0/providers/vmware_desktop.box
vmware_desktop.box [################################] 479786/479786 - 00:03:58
Checking box 'bento/ubuntu-16.04' integrity...
/tmp/tmpsBYBh_
tar: Pattern matching characters used in file names
tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning
tar: *.vmx: Not found in archive
tar: Exiting with failure status due to previous errors
Bringing machine up...
ERROR: Error: Cannot open VM: /home/steph/Projects/mech/nogui, unknown file suffix
VM not started
Tar version:
tar --version
tar (GNU tar) 1.28
tar: Pattern matching characters used in file names
tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning
tar: *.vmx: Not found in archive
tar: Exiting with failure status due to previous errors
Bringing machine up...
Traceback (most recent call last):
File "/usr/local/bin/mech", line 11, in
load_entry_point('mech==0.6.0', 'console_scripts', 'mech')()
File "build/bdist.linux-x86_64/egg/mech/main.py", line 39, in main
File "build/bdist.linux-x86_64/egg/mech/command.py", line 71, in call
File "build/bdist.linux-x86_64/egg/mech/mech.py", line 606, in up
File "build/bdist.linux-x86_64/egg/mech/vmrun.py", line 144, in start
File "build/bdist.linux-x86_64/egg/mech/vmrun.py", line 105, in vmrun
File "build/bdist.linux-x86_64/egg/mech/vmrun.py", line 105, in
TypeError: argument of type 'NoneType' is not iterable
vmware-vixWrapper-9322.log contents:
2018-06-26T13:04:28.981-05:00| vthread-4| I125: Log for VixWrapper pid=9322 version=1 build=build-7535481 option=Release
2018-06-26T13:04:28.981-05:00| vthread-4| I125: The process is 64-bit.
2018-06-26T13:04:28.981-05:00| vthread-4| I125: Host codepage=UTF-8 encoding=UTF-8
2018-06-26T13:04:28.981-05:00| vthread-4| I125: Host is Linux 4.4.0-62-generic Linux Mint 18 Sarah
2018-06-26T13:04:28.980-05:00| vthread-4| I125: DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2018-06-26T13:04:28.980-05:00| vthread-4| I125: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2018-06-26T13:04:28.980-05:00| vthread-4| I125: DictionaryLoad: Cannot open file "/home/steph/.vmware/config": No such file or directory.
2018-06-26T13:04:28.980-05:00| vthread-4| I125: PREF Optional preferences file not found at /home/steph/.vmware/config. Using default values.
2018-06-26T13:04:29.039-05:00| vthread-4| I125: Workstation installed version is 12.5.9
2018-06-26T13:04:29.039-05:00| vthread-4| I125: Loading Vix implementation library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func Vix_PumpEvents from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: Vix_PumpEvents)
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func VixVM_OpenUrlInGuest from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: VixVM_OpenUrlInGuest)
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func VixVM_VProbeLoad from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: VixVM_VProbeLoad)
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func VixVM_GetVProbes from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: VixVM_GetVProbes)
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func VixVM_VProbeGetGlobalVars from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: VixVM_VProbeGetGlobalVars)
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func VixVM_VProbeReset from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: VixVM_VProbeReset)
2018-06-26T13:04:29.041-05:00| vthread-4| I125: unable to load func VixVM_GetVProbesVersion from library /usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so (/usr/lib/vmware-vix/Workstation-12.0.0/64bit/libvix.so: undefined symbol: VixVM_GetVProbesVersion)
2018-06-26T13:04:29.294-05:00| vthread-4| I125: DictionaryLoad: Cannot open file "/home/steph/vmware/Me-lw/nogui": No such file or directory.
With Xubuntu 18.04 and VMWare Workstation Pro 14.1.2 (Eval Version) the example in the README is broken
joerg@X240:~$ mech init bento/ubuntu-14.04
Initializing mech
Loading metadata for box 'bento/ubuntu-14.04'
A `Mechfile` has been initialized and placed in this directory. You
are now ready to `mech up` your first virtual environment!
joerg@X240:~$ mech up
Cannot locate a VMX file
joerg@X240:~$ which vmware
/usr/bin/vmware
(note: this might be vmware workstation's end where "vmrun" doesn't give a provider?)
I'm getting an error: AttributeError: Vmrun instance has no attribute 'provider'
Error message:
Traceback (most recent call last):
File "/home/vagrant/.local/bin/mech", line 11, in <module>
load_entry_point('mech==0.4.1', 'console_scripts', 'mech')()
File "/home/vagrant/.local/lib/python2.7/site-packages/mech/__main__.py", line 92, in main
operation(op='start', name=name, options={'gui':gui})
File "/home/vagrant/.local/lib/python2.7/site-packages/mech/__main__.py", line 49, in operation
method()
File "/home/vagrant/.local/lib/python2.7/site-packages/mech/mech.py", line 47, in start
vm.start()
File "/home/vagrant/.local/lib/python2.7/site-packages/mech/vmrun.py", line 98, in start
return self.vmrun( 'start', 'nogui' )
File "/home/vagrant/.local/lib/python2.7/site-packages/mech/vmrun.py", line 47, in vmrun
output = self.execute( self.VMRUN_PATH, *cmd )
File "/home/vagrant/.local/lib/python2.7/site-packages/mech/vmrun.py", line 32, in execute
cmds[0] = "-T {} -gu {} -gp {} {}".format(self.provider, self.VM_ADMIN, self.VM_PASS, cmds[0])
AttributeError: Vmrun instance has no attribute 'provider'
I'm getting this error:
λ mech up
Bringing machine up...
ERROR: Unable to connect to host.
Error: Service type VIX_SERVICEPROVIDER_VMWARE_WORKSTATION was specified, but not installed
VM not started
And this is because the only provider for windows at the moment in the code is ws
(Line 83 and Line 86).
λ vmrun -T ws list
Unable to connect to host.
Error: Service type VIX_SERVICEPROVIDER_VMWARE_WORKSTATION was specified, but not installed
The right provider for me is player
So we must identify the provider instead assume is always ws
λ vmrun -T player list
Total running VMs: 1
...
mech
on windows does not work because tar
interprets colons (:)
in file names as meaning it is a file on another machine.
$ mech up
Loading metadata for box 'envimation/ubuntu-xenial-docker' (1.0.0-1510009906)
Box 'envimation/ubuntu-xenial-docker' could not be found. Attempting to download...
URL: https://vagrantcloud.com/envimation/boxes/ubuntu-xenial-docker/versions/1.0.0-1510009906/providers/vmware_desktop.box
vmware_desktop.box [################################] 169768/169768 - 00:01:46
Checking box 'envimation/ubuntu-xenial-docker' integrity...
tar: Cannot connect to C: resolve failed
Cannot find a valid box with a VMX file in it
Under Xubuntu 18.04, the command mech box add fails to extract the .vmx file from the tar, although there is such a file present:
joerg@X240:~$ mech box add /home/joerg/Downloads/vmware_desktop.box
Checking box 'vmware_desktop' integrity...
tar: Pattern matching characters used in file names
tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning
tar: *.vmx: Not found in archive
tar: Exiting with failure status due to previous errors
joerg@X240:~$ tar tzvf !:3 | fgrep .vmx
tar tzvf /home/joerg/Downloads/vmware_desktop.box | fgrep .vmx
-rw-r--r-- 501/20 2600 2018-03-25 14:21 ubuntu-18.04-amd64.vmx
-rw-r--r-- 501/20 273 2018-03-25 14:21 ubuntu-18.04-amd64.vmxf
vmware_desktop.box is a local download of bento/ubuntu-18.04
From the messages above I guess tar is missing the option --wildcards
tar is version 1.29
Really interested in this project so I tested on Windows 10 with the latest VM Workstation. I got this error
Traceback (most recent call last):
File "C:\Python27\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech==0.4.1', 'console_scripts', 'mech')()
File "c:\python27\lib\site-packages\mech\__main__.py", line 92, in main
operation(op='start', name=name, options={'gui':gui})
File "c:\python27\lib\site-packages\mech\__main__.py", line 49, in operation
method()
File "c:\python27\lib\site-packages\mech\mech.py", line 43, in start
vm = Vmrun(self.vmx)
File "c:\python27\lib\site-packages\mech\vmrun.py", line 69, in __init__
rh = _winreg.OpenKey( reg, r'SOFTWARE\VMware, Inc.\VMware Workstation' )
WindowsError: [Error 2] The system cannot find the file specified```
With Python 3.6 installed on a Windows 7 (64Bit) machine, the installation with pip is fine, but every invocation of the mech command fails:
$ mech ls
Traceback (most recent call last):
File "C:\Program Files\Python36\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech==0.6.0', 'console_scripts', 'mech')()
File "c:\program files\python36\lib\site-packages\mech\__main__.py", line 32, in main
from mech import Mech
ImportError: cannot import name 'Mech'
Both for version 0.6.0 and the HEAD from git repo. This may be a general Win7 problem, but could you please document on which OS mech was tested so far?
Allow for the customization of VM folder name.
win7
Traceback (most recent call last):
File "/usr/bin/mech", line 11, in
load_entry_point('mech==0.5', 'console_scripts', 'mech')()
File "/usr/lib/python2.7/site-packages/mech/main.py", line 111, in main
operation(op='start', name=name, options={'gui':gui})
File "/usr/lib/python2.7/site-packages/mech/main.py", line 75, in operation
method()
File "/usr/lib/python2.7/site-packages/mech/mech.py", line 63, in start
vm.start()
File "/usr/lib/python2.7/site-packages/mech/vmrun.py", line 105, in start
return self.vmrun( 'start', 'nogui' )
File "/usr/lib/python2.7/site-packages/mech/vmrun.py", line 46, in vmrun
output = self.execute( self.VMRUN_PATH, *cmd )
AttributeError: Vmrun instance has no attribute 'VMRUN_PATH'
Vagrant boxes specify a metadata.json. Perhaps we can extract the username and password from here to insert into a mechfile so we don't need to ask the user what name to store.
The VM is ready. Connect to it using mech ssh
C:\Users\Administrador>mech ssh
Traceback (most recent call last):
File "C:\Program Files (x86)\Python37-32\Scripts\mech-script.py", line 11, in
load_entry_point('mech==0.7.6', 'console_scripts', 'mech')()
File "c:\program files (x86)\python37-32\lib\site-packages\mech_main_.py", line 39, in main
return Mech(arguments)()
File "c:\program files (x86)\python37-32\lib\site-packages\mech\command.py", line 89, in call
obj = klass(arguments)
File "c:\program files (x86)\python37-32\lib\site-packages\mech\mech.py", line 890, in ssh
return subprocess.call(cmds)
File "c:\program files (x86)\python37-32\lib\subprocess.py", line 323, in call
with Popen(*popenargs, **kwargs) as p:
File "c:\program files (x86)\python37-32\lib\subprocess.py", line 775, in init
restore_signals, start_new_session)
File "c:\program files (x86)\python37-32\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system can not find the file specified
Before installing:
pip install --trusted-host pypi.python.org pip mech
Run command line:
mech -h
Traceback (most recent call last):
File "C:\Users\EP998234\AppData\Local\Programs\Python\Python36-32\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech==0.6', 'console_scripts', 'mech')()
File "c:\users\ep998234\appdata\local\programs\python\python36-32\lib\site-packages\mech\__main__.py", line 32, in main
from mech import Mech
ImportError: cannot import name 'Mech'
I guess this doesn't work with VMWare Desktop on Windows.....
c:>\temp>mech init https://atlas.hashicorp.com/bento/boxes/debian-8.6/versions/2.3.0/providers/vmware_desktop.box --name=bento
Initializing mech
vmware_desktop.box[################################] 464249/464249 - 00:06:19
Extracting...
What username would you like to save? [mech] vagrant
Saving C:\Users\baba/.mech\bento\mechfile
Finished.
Saving .\mechfile
Finished.
c:\temp>mech up bento
Traceback (most recent call last):
File "c:\users\baba\appdata\local\enthought\canopy\user\scripts\mech-script.py", line 11, in <module>
load_entry_point('mech==0.5', 'console_scripts', 'mech')()
File "C:\Users\baba\AppData\Local\Enthought\Canopy\User\lib\site-packages\mech\__main__.py", line 111, in main
operation(op='start', name=name, options={'gui':gui})
File "C:\Users\baba\AppData\Local\Enthought\Canopy\User\lib\site-packages\mech\__main__.py", line 53, in operation
method()
File "C:\Users\baba\AppData\Local\Enthought\Canopy\User\lib\site-packages\mech\mech.py", line 63, in start
vm.start()
File "C:\Users\baba\AppData\Local\Enthought\Canopy\User\lib\site-packages\mech\vmrun.py", line 105, in start
return self.vmrun( 'start', 'nogui' )
File "C:\Users\baba\AppData\Local\Enthought\Canopy\User\lib\site-packages\mech\vmrun.py", line 46, in vmrun
output = self.execute( self.VMRUN_PATH, *cmd )
File "C:\Users\baba\AppData\Local\Enthought\Canopy\User\lib\site-packages\mech\vmrun.py", line 41, in execute
p = subprocess.Popen( cmd, stdout=subprocess.PIPE )
File "C:\Users\baba\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.7.4.3348.win-x86_64\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\Users\baba\AppData\Local\Enthought\Canopy\App\appdata\canopy-1.7.4.3348.win-x86_64\lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
Add things like provision scripts and perhaps add more configurable things into the mechfile.
Very little intention of supporting Virtualbox anytime soon so that should make it easier to implement.
Hi,
I've installed python-pip on a rather clean Xubuntu 18.04 and run
pip install -U mech
afterwards. No errors.
Opened a new terminal, but there is no mech
executable in the search path.
I'm a python newbie, is pip install able to install anything in $PATH?
Can I call mech in some other way?
EDIT: Found the mech exec in ~/.local/bin, added it to $PATH and I can execute it now.
I guess this is more an Ubuntu problem. See https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562 . As the fix for this is in $HOME/.profile, it is not enough to open a second terminal (non-login shell) to re-read .profile. Nor is a logout/login with the display manager. I had to reboot the machine.
Starting "dev"...
Machine "dev" was started.
Waiting for SSH to be available...
$ mkvirtualenv mech 1 ↵
New python executable in /Users/jeff/.virtualenvs/mech/bin/python2.7
Also creating executable in /Users/jeff/.virtualenvs/mech/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /Users/jeff/.virtualenvs/mech/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/jeff/.virtualenvs/mech/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/jeff/.virtualenvs/mech/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/jeff/.virtualenvs/mech/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/jeff/.virtualenvs/mech/bin/get_env_details
$ pip install mech
Collecting mech
Using cached mech-0.4.1-py2-none-any.whl
Collecting clint (from mech)
Collecting args (from clint->mech)
Installing collected packages: args, clint, mech
Successfully installed args-0.1.0 clint-0.5.1 mech-0.4.1
$ mech up
Traceback (most recent call last):
File "/usr/local/bin/mech", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/mech/__main__.py", line 92, in main
operation(op='start', name=name, options={'gui':gui})
File "/usr/local/lib/python2.7/site-packages/mech/__main__.py", line 54, in operation
vmx = mechfile.get('vmx')
AttributeError: 'NoneType' object has no attribute 'get'
$ mech start deb8.6
Traceback (most recent call last):
File "C:\Python27\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech==0.4.1', 'console_scripts', 'mech')()
File "c:\python27\lib\site-packages\mech\__main__.py", line 92, in main
operation(op='start', name=name, options={'gui':gui})
File "c:\python27\lib\site-packages\mech\__main__.py", line 49, in operation
method()
File "c:\python27\lib\site-packages\mech\mech.py", line 43, in start
vm = Vmrun(self.vmx)
File "c:\python27\lib\site-packages\mech\vmrun.py", line 69, in __init__
rh = _winreg.OpenKey( reg, r'SOFTWARE\VMware, Inc.\VMware Workstation' )
WindowsError: [Error 2] The system cannot find the file specified
after i installed mech using pip,
when i type
mech --help
python error shows, that it cannot import 'Mech'
Sys: osx sierra
error that shows
~ ❯❯❯ mech --help ✘
Traceback (most recent call last):
File "/usr/local/bin/mech", line 11, in <module>
load_entry_point('mech==0.6', 'console_scripts', 'mech')()
File "/usr/local/lib/python3.6/site-packages/mech/__main__.py", line 32, in main
from mech import Mech
ImportError: cannot import name 'Mech'
I have setup multiple VMs , but I'm only able to start them from the VM folder. I thought I can use the name parameter to start the vm from everywhere .
Error:
+ OSX sharkys-mbp sharky ~/VMs/freebsd12-zfs ansible + 3260
+╰─ mech --debug up name=macos10.14
+DEBUG: Attempting to acquire lock 4449858728 on /Users/sharky/.mech/data/index.lock
+INFO: Lock 4449858728 acquired on /Users/sharky/.mech/data/index.lock
+DEBUG: Attempting to release lock 4449858728 on /Users/sharky/.mech/data/index.lock
+INFO: Lock 4449858728 released on /Users/sharky/.mech/data/index.lock
-Cannot find a valid path for 'name=macos10.14' instance
Indexfile:
OSX sharkys-mbp sharky ~/VMs/freebsd12-zfs ansible 3261
╰─ cat /Users/sharky/.mech/data/index
{
"freebsd12-generic": {
"path": "/Users/sharky/VMs/freebsd12-generic"
},
"freebsd12-zfs": {
"path": "/Users/sharky/VMs/freebsd12-zfs"
},
"macos10.13": {
"path": "/Users/sharky/VMs/macos10.13"
},
"macos10.14": {
"path": "/Users/sharky/VMs/macos10.14"
}
}%
first, thanks for this great project,
than
i think you should change the line after the install
title in the readme.md file
to
pip3 install git+https://github.com/mechboxes/mech.git
i already used the above command on OSX sierra and it does work,
thanks again
Not entirely sure if this is working or it isn't. But it would greatly increase usage if mech supported shared folders properly.
those link does not work, it should be changed to mechboxes/mech
url='https://github.com/Kronuz/mech',
download_url='https://github.com/Kronuz/mech/tarball/master',
If I mech up, the following log has come.
bash-3.2$ mech up
Traceback (most recent call last):
File "/usr/local/bin/mech", line 10, in <module>
sys.exit(main())
File "/usr/local/lib/python3.7/site-packages/mech/__main__.py", line 39, in main
return Mech(arguments)()
File "/usr/local/lib/python3.7/site-packages/mech/command.py", line 89, in __call__
obj = klass(arguments)
File "/usr/local/lib/python3.7/site-packages/mech/mech.py", line 602, in up
utils.index_active_instance(instance_name)
File "/usr/local/lib/python3.7/site-packages/mech/utils.py", line 458, in index_active_instance
'path': path,
File "/usr/local/lib/python3.7/site-packages/mech/utils.py", line 201, in settle_instance
instances = json.loads(uncomment(fp.read()))
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 3 (char 4)
The error comes from broken index file. I can't know why the index was broken...
$ cat ~/.mech/data/index
{
$
I want to know how to recover by indication of log message like below.
$ mech up
Index file seems broken. Try to remove
/Users/takashi/.mech/data/index.
This happened on Win7 64 Bit with Python 2.7.15 (x64, installed for all users):
C:\WINDOWS\system32>c:\Python27\Scripts\mech init bento/ubuntu-16.04
Initializing mech
Loading metadata for box 'bento/ubuntu-16.04'
A `Mechfile` has been initialized and placed in this directory. You
are now ready to `mech up` your first virtual environment!
C:\WINDOWS\system32>c:\Python27\Scripts\mech up
Loading metadata for box 'bento/ubuntu-16.04' (201806.08.0)
Box 'bento/ubuntu-16.04' could not be found. Attempting to download...
URL: https://vagrantcloud.com/bento/boxes/ubuntu-16.04/versions/201806.08.0/prov
iders/vmware_desktop.box
vmware_desktop.box [################################] 479786/479786 - 00:07:43
Checking box 'bento/ubuntu-16.04' integrity...
Traceback (most recent call last):
File "c:\python27\lib\runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "c:\python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "c:\Python27\Scripts\mech.exe\__main__.py", line 9, in <module>
File "c:\python27\lib\site-packages\mech\__main__.py", line 39, in main
return Mech(arguments)()
File "c:\python27\lib\site-packages\mech\command.py", line 71, in __call__
obj = klass(arguments)
File "c:\python27\lib\site-packages\mech\mech.py", line 602, in up
vmx = utils.init_box(self.box_name, self.box_version, requests_kwargs=reques
ts_kwargs, save=save)
File "c:\python27\lib\site-packages\mech\utils.py", line 305, in init_box
name_version_box = add_box(name, name=name, version=version, force=force, sa
ve=save, requests_kwargs=requests_kwargs)
File "c:\python27\lib\site-packages\mech\utils.py", line 334, in add_box
return add_mechfile(mechfile, name=name, version=version, force=force, save=
save, requests_kwargs=requests_kwargs)
File "c:\python27\lib\site-packages\mech\utils.py", line 345, in add_mechfile
return add_box_url(name, version, url, force=force, save=save, requests_kwar
gs=requests_kwargs)
File "c:\python27\lib\site-packages\mech\utils.py", line 382, in add_box_url
return add_box_file(name, version, fp.name, url=url, force=force, save=save)
File "c:\python27\lib\site-packages\mech\utils.py", line 399, in add_box_file
tar = tarfile.open(filename, 'r')
File "c:\python27\lib\tarfile.py", line 1675, in open
return func(name, "r", fileobj, **kwargs)
File "c:\python27\lib\tarfile.py", line 1740, in gzopen
fileobj = gzip.GzipFile(name, mode, compresslevel, fileobj)
File "c:\python27\lib\gzip.py", line 94, in __init__
fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
IOError: [Errno 13] Permission denied: 'c:\\users\\jalbert\\appdata\\local\\temp
\\tmpgsbpdg'
C:\WINDOWS\system32>
The directory c:\users\jalbert\appdata\local\temp\ is writable in the cmd.exe:
C:\WINDOWS\system32>echo Hallo > c:\users\jalbert\appdata\local\temp\huhu
C:\WINDOWS\system32>dir c:\users\jalbert\appdata\local\temp\huhu
Datenträger in Laufwerk C: ist SYSTEM
Volumeseriennummer: 50C8-E6F7
Verzeichnis von c:\users\jalbert\appdata\local\temp
03.07.2018 13:31 8 huhu
1 Datei(en), 8 Bytes
0 Verzeichnis(se), 75.967.459.328 Bytes frei
C:\WINDOWS\system32>
I'm using mech with the Laravel Homestead, and got it up and running, although it does not use the "Homestead.yaml" config file.
This config contains multiple settings such as shared folder, IP and a bit more.
Is it possible to make mech use this config file like Vagrant would?
mech ls
will give an odd error saying "Cannot find a VMX file" if a single VM doesnt have a VMX file.
https://github.com/mechboxes/mech/blob/devel/mech/utils.py#L464
This call is a little premature, we should detect this situation give a meaningful error in the mech ls output.
I get this error when I try to run mech:
mech init bento/ubuntu-14.04
Initializing mech
Traceback (most recent call last):
File "C:\Users\clc\AppData\Local\Programs\Python\Python37-32\Scripts\mech-script.py", line 11, in
load_entry_point('mech==0.7.6', 'console_scripts', 'mech')()
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\site-packages\mech_main_.py", line 39, in main
return Mech(arguments)()
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\site-packages\mech\command.py", line 89, in call
obj = klass(arguments)
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\site-packages\mech\mech.py", line 572, in init
if utils.init_mechfile(instance_name, url, name=name, version=version, requests_kwargs=requests_kwargs):
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\site-packages\mech\utils.py", line 471, in init_mechfile
path = index_active_instance(instance_name)
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\site-packages\mech\utils.py", line 458, in index_active_instance
'path': path,
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\site-packages\mech\utils.py", line 201, in settle_instance
instances = json.loads(uncomment(fp.read()))
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\json_init_.py", line 348, in loads
return _default_decoder.decode(s)
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "c:\users\clc\appdata\local\programs\python\python37-32\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 3 (char 4)
There's now https://mechboxes.github.io/mech/, but it needs documentation.
This VM I spun up is very slow to run when I don't have vmware tools installed. This process took, probably, 15 minutes. The VM appears to be running, but doesn't show in Fusion because of start nogui
.
VMWare Tools is not installed on the guest (by design).
$ mech up luke
Getting IP address...
VM started on Error: The VMware Tools are not running in the virtual machine: /Users/miketweaver/.mech/luke/packer-vmware-iso.vmx
Sharing current folder...
VM started on Error: The VMware Tools are not running in the virtual machine: /Users/miketweaver/.mech/luke/packer-vmware-iso.vmx
Resolved by building from git codebase.
Traceback (most recent call last):
File "/usr/local/bin/mech", line 9, in
load_entry_point('mech==0.6', 'console_scripts', 'mech')()
File "/home/steph/.local/lib/python3.5/site-packages/mech/main.py", line 32, in main
from mech import Mech
ImportError: cannot import name 'Mech'
Linux Mint 18.xx
pip install
Hello, I get this error with mech 0.6:
$ mech up
Loading metadata for box 'stackinabox/openstack' (0.9.9)
Box 'stackinabox/openstack' could not be found. Attempting to download...
URL: https://vagrantcloud.com/stackinabox/boxes/openstack/versions/0.9.9/providers/vmware_desktop.box
vmware_desktop.box [################################] 1864250/1864250 - 00:05:17
Checking box 'stackinabox/openstack' integrity...
./ubuntu-16.04-amd64.vmx
Extracting box 'stackinabox/openstack'...
Traceback (most recent call last):
File "/usr/local/bin/mech", line 11, in
sys.exit(main())
File "/Library/Python/2.7/site-packages/mech/main.py", line 39, in main
return Mech(arguments)()
File "/Library/Python/2.7/site-packages/mech/command.py", line 71, in call
obj = klass(arguments)
File "/Library/Python/2.7/site-packages/mech/mech.py", line 602, in up
vmx = utils.init_box(self.box_name, self.box_version, requests_kwargs=requests_kwargs, save=save)
File "/Library/Python/2.7/site-packages/mech/utils.py", line 327, in init_box
update_vmx(vmx)
File "/Library/Python/2.7/site-packages/mech/utils.py", line 121, in update_vmx
vmx = parse_vmx(path)
File "/Library/Python/2.7/site-packages/mech/utils.py", line 114, in parse_vmx
vmx[line[0].rstrip()] = line[1].lstrip()
IndexError: list index out of range
Create .mech folder if it doesn't exist.
I'm currently running into issues on the development branch with getting the mech script to accept any form of the init command.
I encountered this behavior while attempting to work on Python 3 compatibility, so I've included output from both versions. At the time I encountered the issue, the only changes made were to __main__.py
and mech.py
, changing the mech-specific imports to relative imports.
(.venv) C:\Development\forks\mech\sbox> mech init bento/ubuntu-14.04
Traceback (most recent call last):
File "C:\Development\forks\mech\.venv\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech', 'console_scripts', 'mech')()
File "C:\Development\forks\mech\mech\__main__.py", line 39, in main
return Mech(arguments)()
File "C:\Development\forks\mech\mech\command.py", line 71, in __call__
obj = klass(arguments)
File "C:\Development\forks\mech\mech\mech.py", line 548, in init
url = arguments['<url | path>']
KeyError: '<url | path>'
(.venv) C:\Development\forks\mech\sbox> mech init ubuntu builds\vmware-ubuntu1604.box
Usage: mech-áinit [options] [<name> [<url|path>]]
(.venv) C:\Development\forks\mech\sbox> mech init --name ubuntu builds\vmware-ubuntu1604.box
Traceback (most recent call last):
File "C:\Development\forks\mech\mech\.venv\Scripts\mech-script.py", line 11, in <module>
load_entry_point('mech', 'console_scripts', 'mech')()
File "C:\Development\forks\mech\mech\mech\__main__.py", line 39, in main
return Mech(arguments)()
File "C:\Development\forks\mech\mech\mech\command.py", line 71, in __call__
obj = klass(arguments)
File "C:\Development\forks\mech\mech\mech\mech.py", line 548, in init
url = arguments['<url | path>']
KeyError: '<url | path>'
(.venv) C:\Development\forks\mech\sbox> mech init bento/ubuntu-14.04
Usage: mechA init [options] [<name> [<url|path>]]
(.venv) C:\Development\forks\mech\sbox> mech init ubuntu builds\vmware-ubuntu1604.box
Usage: mechA init [options] [<name> [<url|path>]]
(.venv) C:\Development\forks\mech\sbox> mech init --name ubuntu builds\vmware-ubuntu1604.box
Usage: mechA init [options] [<name> [<url|path>]]
Same deal as Windows:
(.venv) ubuntu@charles-dev:~/mech/sbox$ mech init bento/ubuntu-14.04
Traceback (most recent call last):
File "/home/ubuntu/mech/.venv/bin/mech", line 11, in <module>
load_entry_point('mech', 'console_scripts', 'mech')()
File "/home/ubuntu/mech/mech/__main__.py", line 39, in main
return Mech(arguments)()
File "/home/ubuntu/mech/mech/command.py", line 71, in __call__
obj = klass(arguments)
File "/home/ubuntu/mech/mech/mech.py", line 548, in init
url = arguments['<url | path>']
KeyError: '<url | path>'
(.venv) ubuntu@charles-dev:~/mech/sbox$ mech init ubuntu ~/vboxes/vmware-ubuntu1604.box
Usage: mech init [options] [<name> [<url|path>]]
(.venv) ubuntu@charles-dev:~/mech/sbox$ mech init --name ubuntu ~/vboxes/vmware-ubuntu1604.box
Traceback (most recent call last):
File "/home/ubuntu/mech/.venv/bin/mech", line 11, in <module>
load_entry_point('mech', 'console_scripts', 'mech')()
File "/home/ubuntu/mech/mech/__main__.py", line 39, in main
return Mech(arguments)()
File "/home/ubuntu/mech/mech/command.py", line 71, in __call__
obj = klass(arguments)
File "/home/ubuntu/mech/mech/mech.py", line 548, in init
url = arguments['<url | path>']
KeyError: '<url | path>'
(.venv) ubuntu@charles-dev:~/mech/sbox$ mech init bento/ubuntu-14.04
Usage: mech init [options] [<name> [<url|path>]]
(.venv) ubuntu@charles-dev:~/mech/sbox$ mech init ubuntu ~/vboxes/vmware-ubuntu1604.box
Usage: mech init [options] [<name> [<url|path>]]
(.venv) ubuntu@charles-dev:~/mech/sbox$ mech init --name ubuntu ~/vboxes/vmware-ubuntu1604.box
Usage: mech init [options] [<name> [<url|path>]]
I'd try to troubleshoot it myself, but I've never really worked with docopt.
Hi there,
I tried it with mech up but face this issue.
Fact:
x091s@x091s-X250:/data/vmware$ uname -a
Linux x091s-X250 4.13.0-43-generic #48~16.04.1-Ubuntu SMP Thu May 17 12:56:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Command:
x091s@x091s-X250:/data/vmware$ mech init centos/6
Initializing mech
Loading metadata for box 'centos/6'
A `Mechfile` has been initialized and placed in this directory. You
are now ready to `mech up` your first virtual environment!
x091s@x091s-X250:/data/vmware$ mech up
Loading metadata for box 'centos/6' (1804.02)
Box 'centos/6' could not be found. Attempting to download...
URL: https://vagrantcloud.com/centos/boxes/6/versions/1804.02/providers/vmware_desktop.box
vmware_desktop.box [################################] 380024/380024 - 00:01:14
**Issue:**
Checking box 'centos/6' integrity...
tar: Pattern matching characters used in file names
tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning
tar: *.vmx: Not found in archive
tar: Exiting with failure status due to previous errors
Bringing machine up...
Traceback (most recent call last):
File "/usr/local/bin/mech", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/mech/__main__.py", line 39, in main
return Mech(arguments)()
File "/usr/local/lib/python2.7/dist-packages/mech/command.py", line 71, in __call__
obj = klass(arguments)
File "/usr/local/lib/python2.7/dist-packages/mech/mech.py", line 605, in up
started = vmrun.start(gui=gui)
File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 143, in start
return self.vmrun('start', self.vmx_file, 'gui' if gui else 'nogui', quiet=quiet)
File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 104, in vmrun
logger.debug(" ".join("'{}'".format(c.replace("'", "\\'")) if ' ' in c else c for c in cmds))
File "/usr/local/lib/python2.7/dist-packages/mech/vmrun.py", line 104, in <genexpr>
logger.debug(" ".join("'{}'".format(c.replace("'", "\\'")) if ' ' in c else c for c in cmds))
TypeError: argument of type 'NoneType' is not iterable
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.