Closed pbergner closed 10 years ago
Yes, so the new version doesn't actually require Python (the dev build did). Can you send the contents of your user and default MavensMate settings?
default settings:
/*
MavensMate settings NOTE: MavensMate user settings will override MavensMate default settings To override default MavensMate settings, modify user-specific settings (MavensMate --> Open --> Settings - User) \ Most changes require a SublimeText restart * /
{ //set to absolute location where you wish your MavensMate project to reside //if the location does not exist, MavensMate will attempt to create it //for example: "/Users/username/Documents/workspaces/mavensmate" (notice the absolute path) "mm_workspace" : "",
//set to desired Salesforce.com API version (tooling api functionality requires 27.0+)
"mm_api_version" : "28.0",
//if true, MavensMate will automatically hide the debug panel upon a successful operation
"mm_hide_panel_on_success" : true,
//the amount of time (in seconds) before MavensMate hides the debug panel upon a successful operation
"mm_hide_panel_time" : 0,
//if true, MavensMate will capture the save file operation and compile to the Salesforce.com server automatically
"mm_compile_on_save" : true,
//if true, MavensMate will check if the lastmodifiedbyid of apex metadata is different than running user
"mm_compile_check_conflicts": false,
//if true, MavensMate will present local/server diff view when conflict is found for the purposes of merging changes (beta)
"mm_diff_server_conflicts": true,
//if true, MavensMate will scroll to the line of a reported exception when there is a compilation error
"mm_compile_scroll_to_error": true,
//if true, MavensMate will rollback compiles when an error is encountered
"mm_compile_rollback_on_error": true,
//if true, MavensMate will hook into the Sublime Text completions API to offer code assistance
"mm_autocomplete" : true,
//if true, MavensMate will check for updates when Sublime Text starts
"mm_check_for_updates" : true,
//possible values: CRITICAL, ERROR, WARNING, DEBUG, INFO
"mm_log_level" : "INFO",
//location where mm debug log should be placed (must be existing path)
"mm_log_location" : "",
//if true, mavensmate will send usage statistics (NEVER sensitive information like usernames/passwords/etc) for development, reporting, & debugging purposes (see util.py for source of the call)
"mm_send_usage_statistics" : true,
//the location of MavensMate.app
"mm_app_location" : "/Applications/MavensMate.app",
//the location of the mm command line tool (must be inside MavensMate.app)
"mm_location" : "/Applications/MavensMate.app/Contents/Resources/mm/mm",
//specify a path for custom wsdl files here. wsdls must be named: apex.xml, partner.xml, metadata.xml, tooling.xml
"mm_wsdl_path" : "",
//the location of your Sublime Text install
"mm_plugin_client_location" : "/Applications",
//set to true to use the tooling api to compile apex metadata (if you're experiencing any compile issues, set this to false to use the metadata api)
"mm_compile_with_tooling_api" : true,
//set to true if you want a history of your executed apex scripts in project/apex-scripts
"mm_log_anonymous_apex" : true,
//set to true to play notification sounds
"mm_play_sounds" : true,
//local server port
"mm_server_port" : 9876,
//mavensmate will attempt to compile when savings files with the following extensions
"mm_apex_file_extensions": [
".page",
".component",
".cls",
".object",
".trigger",
".layout",
".resource",
".remoteSite",
".labels",
".app",
".dashboard",
".permissionset",
".workflow",
".email",
".profile",
".scf",
".queue",
".reportType",
".report",
".weblink",
".tab",
".letter",
".role",
".homePageComponent",
".homePageLayout",
".objectTranslation",
".flow",
".datacategorygroup",
".snapshot",
".site",
".sharingRules",
".settings",
".callCenter",
".community",
".authProvider",
".customApplicationComponent",
".quickAction",
".approvalProcess"
],
"mm_use_github_templates" : true,
"mm_default_apex_templates_map" : {
"ApexClass" :
{
"test" : "UnitTestApexClass.html",
"exception" : "ExceptionApexClass.html",
"batch" : "BatchApexClass.html",
"schedulable" : "SchedulableApexClass.html",
"email" : "EmailServiceApexClass.html",
"url" : "UrlRewriterApexClass.html",
"webservice" : "WebserviceClass.html",
"empty" : "ApexClassNoConstructor.html",
"default" : "ApexClass.html"
},
"ApexTrigger" :
{
"default" : "ApexTrigger.html"
},
"ApexComponent" :
{
"default" : "ApexComponent.html"
},
"ApexPage" :
{
"default" : "ApexPage.html"
}
},
//if true, MavensMate.app will start when Sublime Text starts
"mm_start_app_on_st_startup" : true,
//the default metadata available in a project (may be set on a per-project basis in the "advanced" tab of the new and edit project UIs)
"mm_default_subscription" : [
"ApexClass",
"ApexComponent",
"ApexPage",
"ApexTrigger",
"StaticResource",
"CustomObject",
"Profile"
],
//ignore metadata from managed packages (highly recommended)
"mm_ignore_managed_metadata" : true,
//internal only
"mm_debug_mode" : false,
//the number of the most recent apex debug logs to download during the "fetch logs" command
"mm_number_of_logs_limit" : 10,
//choices: "metadata" or "apex". "metadata" is recommended, however if your tests are taking forever to run, try switching to "apex"
//we're working on async testing api support in 0.36
"mm_test_api" : "metadata",
//linux/windows users: ignore this setting
"mm_use_browser_as_ui" : false,
//for linux users (or adventurous windows users), set to location of your python 2.7 install
"mm_python_location" : "/usr/bin/python",
"mm_subl_location" : "/usr/local/bin/subl",
"mm_windows_subl_location" : "C:/Program Files/Sublime Text 3/sublime_text.exe",
//if true, mavensmate will store all deployment packages in your project's "deploy" directory
"mm_archive_deployments" : true
}
USER SETTINGS:
/*
MavensMate settings NOTE: MavensMate user settings will override MavensMate default settings To override default MavensMate settings, modify user-specific settings (MavensMate --> Open --> Settings - User) \ Most changes require a SublimeText restart * /
{ //set to absolute location where you wish your MavensMate project to reside //if the location does not exist, MavensMate will attempt to create it //for example: "/Users/username/Documents/workspaces/mavensmate" (notice the absolute path) "mm_workspace" : "C:/Users/pbergner/sf_workspace",
//set to desired Salesforce.com API version (tooling api functionality requires 27.0+)
"mm_api_version" : "28.0",
//if true, MavensMate will automatically hide the debug panel upon a successful operation
"mm_hide_panel_on_success" : true,
//the amount of time (in seconds) before MavensMate hides the debug panel upon a successful operation
"mm_hide_panel_time" : 0,
//if true, MavensMate will capture the save file operation and compile to the Salesforce.com server automatically
"mm_compile_on_save" : true,
//if true, MavensMate will check if the lastmodifiedbyid of apex metadata is different than running user
"mm_compile_check_conflicts": false,
//if true, MavensMate will present local/server diff view when conflict is found for the purposes of merging changes (beta)
"mm_diff_server_conflicts": true,
//if true, MavensMate will scroll to the line of a reported exception when there is a compilation error
"mm_compile_scroll_to_error": true,
//if true, MavensMate will rollback compiles when an error is encountered
"mm_compile_rollback_on_error": true,
//if true, MavensMate will hook into the Sublime Text completions API to offer code assistance
"mm_autocomplete" : true,
//if true, MavensMate will check for updates when Sublime Text starts
"mm_check_for_updates" : true,
//possible values: CRITICAL, ERROR, WARNING, DEBUG, INFO
"mm_log_level" : "INFO",
//location where mm log should be placed (must be existing path)
"mm_log_location" : "",
//if true, mavensmate will send usage statistics (NEVER sensitive information like usernames/passwords/etc) for development, reporting, & debugging purposes (see util.py for source of the call)
"mm_send_usage_statistics" : true,
//the location of MavensMate.app
"mm_app_location" : "/Applications/MavensMate.app",
//the location of the mm command line tool (must be inside MavensMate.app)
"mm_location" : "/Applications/MavensMate.app/Contents/Resources/mm/mm",
//specify a path for custom wsdl files here. wsdls must be named: apex.xml, partner.xml, metadata.xml, tooling.xml
"mm_wsdl_path" : "",
//the location of your Sublime Text install
"mm_plugin_client_location" : "/Applications",
//set to true to use the tooling api to compile apex metadata
"mm_compile_with_tooling_api" : true,
//set to true if you want a history of your executed apex scripts in project/apex-scripts
"mm_log_anonymous_apex" : true,
//set to true to play notification sounds
"mm_play_sounds" : true,
//local server port
"mm_server_port" : 9876,
//mavensmate will attempt to compile when savings files with the following extensions
"mm_apex_file_extensions": [
".page",
".component",
".cls",
".object",
".trigger",
".layout",
".resource",
".remoteSite",
".labels",
".app",
".dashboard",
".permissionset",
".workflow",
".email",
".profile",
".scf",
".queue",
".reportType",
".report",
".weblink",
".tab",
".letter",
".role",
".homePageComponent",
".homePageLayout",
".objectTranslation",
".flow",
".datacategorygroup",
".snapshot",
".site",
".sharingRules",
".settings",
".callCenter",
".community",
".authProvider",
".customApplicationComponent",
".quickAction",
".approvalProcess"
],
"mm_use_github_templates" : true,
"mm_default_apex_templates_map" : {
"ApexClass" :
{
"test" : "UnitTestApexClass.html",
"exception" : "ExceptionApexClass.html",
"batch" : "BatchApexClass.html",
"schedulable" : "SchedulableApexClass.html",
"email" : "EmailServiceApexClass.html",
"url" : "UrlRewriterApexClass.html",
"webservice" : "WebserviceClass.html",
"empty" : "ApexClassNoConstructor.html",
"default" : "ApexClass.html"
},
"ApexTrigger" :
{
"default" : "ApexTrigger.html"
},
"ApexComponent" :
{
"default" : "ApexComponent.html"
},
"ApexPage" :
{
"default" : "ApexPage.html"
}
},
//if true, MavensMate.app will start when Sublime Text starts
"mm_start_app_on_st_startup" : true,
//the default metadata available in a project (may be set on a per-project basis in the "advanced" tab of the new and edit project UIs)
"mm_default_subscription" : [
"ApexClass",
"ApexComponent",
"ApexPage",
"ApexTrigger",
"StaticResource",
"CustomObject",
"Profile"
],
//ignore metadata from managed packages (highly recommended)
"mm_ignore_managed_metadata" : true,
//internal only
"mm_debug_mode" : false,
//the number of the most recent apex debug logs to download during the "fetch logs" command
"mm_number_of_logs_limit" : 10,
//choices: "metadata" or "apex". "metadata" is recommended, however if your tests are taking forever to run, try switching to "apex"
//we're working on async testing api support in 0.36
"mm_test_api" : "metadata",
//linux/windows users: ignore this setting
"mm_use_browser_as_ui" : false,
//for linux/windows users, set to location of your python 2.7 install
"mm_python_location" : "C:/Python27/python",
"mm_subl_location" : "C:/Program Files (x86)/Sublime Text 3/sublime_text.exe"
}
What version of Windows? And are you 64 or 32 bit?
Also, are you on 3.0.9 of the Sublime Text plugin? MavensMate > About MavensMate
Windows 7 64 bit, but it looks like I did install the 32bit sublime text 3 (its under Program Files(x86), yes it says 3.0.9 under About.
Hm, I'm not 100% sure the issue. You could try installing the 64 bit ST3, however, before you do that, I would try a completely clean install and let me know how it goes.
Ok, that didn't do it so I cleared out everything and installed 64 bit ST3, reinstalled MM, and set my mm_workspace. Now I can't open any of my existing projects, I get an unable to read error (perhaps this is to be expected?) and when I try Project -> New Project it does nothing. In the dev version it would ask me which program would I like to open the temp file in? Should I be getting that same prompt now?
anything in the Sublime Text console (control + tilde)?
Ok so it looks like Windows will install MavensMate into the x86 Program Files directory. Can you confirm this is the case?
@pbergner i pushed what i believe is a patch for this issue. can you update (or clean install) once more?
I just tested this on windows 7 64 with ST3 64 and with ST3 x86 and it's working. I suggest running the MavensMate.exe installer and you should be on your way.
Yes. If you have any issues let us know.
Ok uninstalled MM, downloaded new ZIP and reinstalled. Project -> New Project, saw the following in the console log. Thanks for all your help getting this sorted out, I really really really don't want to have to go back to Eclipse!
[MAVENSMATE] executing mm terminal call: "C:\Program Files (x86)\MavensMate\App\python.exe" "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py" -o new_project -c SUBLIME_TEXT_3 --ui {} [MAVENSMATE] response from mm: Traceback (most recent call last):
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py", line 8, in
import lib.mm_util as util
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\mm_util.py", line 17, in
import xmltodict
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\xmltodict.py", line 4, in
from xml.parsers import expat
File "C:\Python27\lib\xml\parsers\expat.py", line 4, in
from pyexpat import *
ImportError: DLL load failed: %1 is not a valid Win32 application.
Ahhh I think I understand what's happening now. You have a module conflict happening from the dev build. What happens if you remove xmltodict from your C:\Python install?
Did a search for 'xmltodict.py' and only found two instances, xmltodict.py and xmltodict.pyc both under \Mavensmate\mm. Didn't come up with anything under C:\Python27
I also tried changing my mm_python_location to /python27/python but no luck with that either so I switched it back.
ok, so i just pushed a patch that enables windows users to run in "debug mode", which allows them to set their own python path. so, update the plugin from the MavensMate menu, toggle mm_debug_mode
to true
, make sure your mm_python_location
setting is set to your system python and try again. this should force MavensMate to ignore the packaged python and default to the system python (which was working for you in the dev build). i really hope this works for you in the meantime while we figure out the bug.
Thanks again for the help. Its progress! This time I'm able to get to the new project window in chrome but when I attempt to create one I get this error in the browser:
Traceback (most recent call last): File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py", line 8, in import lib.mm_util as util File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\mm_util.py", line 17, in import xmltodict File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\xmltodict.py", line 4, in from xml.parsers import expat File "C:\Python27\lib\xml\parsers\expat.py", line 4, in from pyexpat import * ImportError: DLL load failed: %1 is not a valid Win32 application.
OK, pushed another patch. Turns out i only resolved the issue in 1 of 2 places. Can you reload the plugin from the MavensMate menu in ST?
When I try 'Update Mavensmate' I get sublime text is currently running. please close it and then click on retry to proceed with the installation. I'll try re-installing again.
Still getting the error:
Traceback (most recent call last): File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py", line 8, in import lib.mm_util as util File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\mm_util.py", line 17, in import xmltodict File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\xmltodict.py", line 4, in from xml.parsers import expat File "C:\Python27\lib\xml\parsers\expat.py", line 4, in from pyexpat import * ImportError: DLL load failed: %1 is not a valid Win32 application.
And can you send the contents of your sublime text console (command + tilde)?
The error I'm still getting is in the browser window when creating a New Project here's the log from sublime text though:
[MAVENSMATE] executing mm terminal call: "/Python27/python" "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py" -c SUBLIME_TEXT_3 --ui -o new_project {} [MAVENSMATE] response from mm: {"body": "UI Generated Successfully", "body_type": "text", "success": true, "time": "0.9919998645782471"}
<MavensMate.lib.server.lib.handler.Handler object at 0x00000000040842B0> RUNNING DEBUG BACKGROUND WORKER!!! b'{"project_name":"ff","username":"ff","password":"ff","orgtype":"production","package":{"ApexClass":"","ApexComponent":"","ApexPage":"","ApexTrigger":"_","StaticResource":"*"},"subscription":["ApexClass","ApexComponent","ApexPage","ApexTrigger","CustomObject","Profile","StaticResource"],"action":"new"}' [MAVENSMATE] executing mm terminal call: "/Python27/python" "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py" -c SUBLIME_TEXT_3 --ui -o new_project {} [MAVENSMATE] response from mm: {"body": "UI Generated Successfully", "body_type": "text", "success": true, "time": "0.7669999599456787"}
<MavensMate.lib.server.lib.handler.Handler object at 0x0000000004083E48> RUNNING DEBUG BACKGROUND WORKER!!! b'{"project_name":"fd","username":"fsda","password":"fsd","orgtype":"sandbox","package":{"ApexClass":"","ApexComponent":"","ApexPage":"","ApexTrigger":"_","StaticResource":"*"},"subscription":["ApexClass","ApexComponent","ApexPage","ApexTrigger","CustomObject","Profile","StaticResource"],"action":"new"}'
my fault! ...fixing bugs on the fly for beta testers means I miss some stuff. this should FINALLY be resolved if you reload the plugin via MavensMate > Update. thanks for the patience.
No worries. I more than appreciate the support getting it working. So, I was able to enter my credentials and setup a project but then I immediately got : Unable to read project /Users/pbergner/sf_workspace2/Synaptic Dev/Synaptic Dev.sublime-project
Log in ST just says:
Unable to read project /Users/pbergner/sf_workspace2/Synaptic Dev/Synaptic Dev.sublime-project
Is all of this being caused because I had the dev version installed? Would uninstalling python help revert me back as if I never had it?
A guy on twitter had a similar issue "unable to read project". He resolved it by changing his workspace path to something like: "C:\\Users\\username\\..."
If that doesn't work, try uninstalling Python or at least removing python from your path. In the meantime, I'm trying to reproduce your issue.
That did it! Thanks!
woah! glad to help!
@pbergner do you have PYTHONHOME or PYTHONPATH environment variables set?
Yep, PYTHONHOME is set to C:\Python27
OK, if you wouldn't mind, at some point: run Update Plugin, set mm_debug_mode
back to false
and see whether the latest version resolves the DLL/import issue you originally reported. If it's not resolved, simply set mm_debug_mode
back to true
. Let us know either way. thx
@pbergner beta tester on #218 has confirmed the patch has resolved his issue, so I think that's good news for you. if you could retest with mm_debug_mode set to false, I'd appreciate it. cheers.
Well I upgraded and turned off debug mode. Now I'm getting:
Result: [OPERATION FAILED]:Unable to retrieve password from the keychain store.
If I turn debug mode back to true I get: [OPERATION FAILED]: Could not find your system python install. Please set the location at mm_python_location
I tried setting my mm_python_location to : C:/python27/python, /python27/python, and /usr/bin/python.
Here's the console log:
"C:\Program Files (x86)\MavensMate\App\python.exe" -E "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py" -c SUBLIME_TEXT_3 -o compile {"project_name": "Dev New", "files": ["C:\Users\pbergner\sf_workspace2\Dev New\src\pages\Portal_Landing.page"]} [MAVENSMATE] response from mm: {"body": "Unable to retrieve password from the keychain store.", "stack_trace": "", "body_type": "text", "success": false}
I re-created my project and that seems to have fixed the Unable to retrieve password from the keychain store issue.
I had the windows version installed from teh /dev/ branch and it was running great.
Just downloaded the new official beta version and now I'm running into errors:
Timestamp: Thu, 19 Sep 2013 11:13:24 Result: [OPERATION FAILED]: Whoops, unable to parse the response. Please report this issue at https://github.com/joeferraro/MavensMate-SublimeText [RESPONSE FROM MAVENSMATE]: Traceback (most recent call last):
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py", line 8, in
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\mm_util.py", line 17, in
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\xmltodict.py", line 4, in
File "C:\Python27\lib\xml\parsers\expat.py", line 4, in
ImportError: DLL load failed: %1 is not a valid Win32 application.
[RESPONSE FROM MAVENSMATE]: Traceback (most recent call last):
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\mm.py", line 8, in
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\mm_util.py", line 17, in
File "C:\Users\pbergner\AppData\Roaming\Sublime Text 3\Packages\MavensMate\mm\lib\xmltodict.py", line 4, in
File "C:\Python27\lib\xml\parsers\expat.py", line 4, in
ImportError: DLL load failed: %1 is not a valid Win32 application.