Michael,

Hmm...I see.

This problem arises from the differences which exist between running PyMOL
with an embedded interpreter -- PyMOL should do more to smooth out these
differences...

But in the meantime, as a workaround, fall back on __main__.pymol_argv if
sys.argv is not defined.

Cheers,
Warren

 

--
DeLano Scientific LLC
Subscriber Support Services
mailto:del...@delsci.info
 
"Not yet a PyMOL Subscriber, but want to support the project?  Email
sa...@delsci.com to quote your lab, school, or employer.  Thank you for
sponsoring this open-source endeavor!" -WLD
 

> -----Original Message-----
> From: pymol-users-boun...@lists.sourceforge.net 
> [mailto:pymol-users-boun...@lists.sourceforge.net] On Behalf 
> Of Michael Lerner
> Sent: Tuesday, August 14, 2007 2:35 PM
> To: pymol-users@lists.sourceforge.net
> Subject: [PyMOL] Why can't I get to sys.argv on Linux?
> 
> Hi,
> 
> I'm using PyMOL as a front end to a few scripts. So, I need 
> to get my hands on sys.argv to process the command-line 
> arguments. On OS X, everything works just like I'd expect. 
> However, on Linux, I can't get sys.argv. Here's a very simple 
> Python script:
> 
> #!/usr/bin/env python
> import sys
> print dir(sys)
> print sys.argv
> 
> When I run pymol -cr ./my_script.py on Linux, I get this:
> 
> PyMOL>run ./x.py,main
> ['__displayhook__', '__doc__', '__excepthook__', '__name__', 
> '__stderr__', '__stdin__', '__stdout__', '_getframe', 
> 'api_version', 'builtin_module_names', 'byteorder', 
> 'call_tracing', 'callstats', 'copyright', 'displayhook', 
> 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 
> 'exec_prefix', 'executable', 'exit', 'exitfunc', 
> 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 
> 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 
> 'hexversion', 'maxint', 'maxunicode', 'meta_path', 'modules', 
> 'path', 'path_hooks', 'path_importer_cache', 'platform', 
> 'prefix', 'setcheckinterval', 'setdlopenflags', 'setprofile', 
> 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 
> 'version', 'version_info', 'warnoptions'] Traceback (most 
> recent call last):
>   File "/users/mlerner/src/pymol/modules/pymol/parser.py", 
> line 287, in parse
>     
> parsing.run_file(exp_path(args[nest][0]),__main__.__dict__,__m
> ain__.__dict__)
>   File "/users/mlerner/src/pymol/modules/pymol/parsing.py", 
> line 407, in run_file
>     execfile(file,global_ns,local_ns)
>   File "./x.py", line 4, in ?
>     print sys.argv
> AttributeError: 'module' object has no attribute 'argv'
>  PyMOL: normal program termination.
> 
> While pawing around in the PyMOL sources, I found that 
> pymol_argv shows up. It seems to be what I want, but I don't 
> know how stable it is. Am I supposed to use it instead of sys.argv?
> 
> Thanks,
> 
> -michael
> 
> --
> Biophysics Graduate Student
> Carlson Lab, University of Michigan
> http://www.umich.edu/~mlerner
> 
> --------------------------------------------------------------
> -----------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and 
> a browser.
> Download your FREE copy of Splunk now >>  
> http://get.splunk.com/ _______________________________________________
> PyMOL-users mailing list
> PyMOL-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pymol-users


Reply via email to