MacOSX 上带有 python 的 Sublime Text 3——模块缺少其方法

Sublime Text 3 with python on MacOSX -- Module missing its methods

"import multiprocessing"dir(multiprocessing):

使用最新的 Sublime Text 3 -- 3083 我得到:

 [ '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'multiprocessing']

使用终端我得到:

Python 2.7.9 (default, Feb 10 2015, 03:29:19) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> dir( multiprocessing)
['Array', 'AuthenticationError', 'BoundedSemaphore', 'BufferTooShort', 'Condition', 'Event', 'JoinableQueue', 'Lock', 'Manager', 'Pipe', 'Pool', 'Process', 'ProcessError', 'Queue', 'RLock', 'RawArray', 'RawValue', 'SUBDEBUG', 'SUBWARNING', 'Semaphore', 'TimeoutError', 'Value', '__all__', '__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', '_multiprocessing', 'active_children', 'allow_connection_pickling', 'cpu_count', 'current_process', 'freeze_support', 'get_logger', 'log_to_stderr', 'os', 'process', 'sys', 'util']

我该如何解决?

我假设您正在尝试 运行 在 Sublime 插件中或通过 Sublime 控制台(Ctrl`).如果是这样,您正在使用 Sublime 附带的 Python 版本(目前 ST3 为 3.3.3)供内部使用。虽然它确实包含 multiprocessing 模块,但它是一个精简版本,仅包含 Sublime 需要的 methods/classes。 "normal" Python 标准库中还有许多其他模块未包含在 Sublime 中,例如,包括 Tk/tkinteridlelib , turtle, asyncio, 等等

如果您想自己玩 multiprocessing,您需要 运行 您的 .py 文件通过您计算机上安装的 Python 版本,使用构建系统或通过 SublimeREPL.