【发布时间】:2012-01-27 22:51:38
【问题描述】:
我正在尝试在 python 中运行一个子进程,这是我的代码的一部分:
def update(self):
currentTime = strftime("%d.%m.%y %H:%M", gmtime()) #strftime("%d-%m-%y %H:%M", gmtime)
resultString = "======== " + currentTime + " ========\n\n"
bzrMergeCommand = "cd %s ; /usr/local/bin/bzr merge" % self._directoryName
print "Getting the updated code from bzr..."
mergeResult = sp.Popen(bzrMergeCommand, shell=True, stdout=sp.PIPE, stderr=sp.PIPE, cwd= self._directoryName)
communicated = mergeResult.communicate()
但它无法运行,这是我得到的异常:
'import site' failed; use -v for traceback Traceback (most recent call
last): File "/usr/local/bin/bzr", line 21, in <module>
import os File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py",
line 398, in <module>
import UserDict File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py",
line 84, in <module>
_abcoll.MutableMapping.register(IterableUserDict) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/abc.py",
line 109, in register
if issubclass(subclass, cls): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/abc.py",
line 151, in __subclasscheck__
if subclass in cls._abc_cache: File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_weakrefset.py",
line 69, in __contains__
return ref(item) in self.data TypeError: cannot create weak reference to 'classobj' object
我在 Google 上搜索并阅读了很多关于“TypeError:无法创建对 'classobj' 对象的弱引用”: https://stackoverflow.com/questions/7753181/making-my-python-script-executable-causes-a-import-site-failed-use-v-for-tra
这里:https://github.com/pypa/virtualenv/issues/108
有什么想法吗?
【问题讨论】:
-
脚本是否在 cli 中工作?
-
是的!不知道我之前没试过。如果可以的话,我会给50分。非常感谢!
标签: python macos subprocess bazaar