我需要執行命令. /home/db2v95/sqllib/db2profile
,然後我才能在Python 2.6中執行import ibm_db_dbi
。在Python中執行BASH命令 - 在相同的過程中
執行它之前,我進入Python的工作原理:
[email protected]:~$ . /home/db2v95/sqllib/db2profile
[email protected]:~$ python
Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15)
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ibm_db_dbi
>>>
但使用os.system(". /home/db2v95/sqllib/db2profile")
或subprocess.Popen([". /home/db2v95/sqllib/db2profile"])
導致錯誤在Python執行它。我究竟做錯了什麼?
編輯:這是錯誤我收到:
> Traceback (most recent call last):
> File "<file>.py", line 8, in
> <module>
> subprocess.Popen([". /home/db2v95/sqllib/db2profile"])
> File
> "/usr/lib/python2.6/subprocess.py",
> line 621, in __init__
> errread, errwrite) File "/usr/lib/python2.6/subprocess.py",
> line 1126, in _execute_child
> raise child_exception OSError: [Errno 2] No such file or directory
總猜測,但它看起來像腳本實際上在環境中設置一些東西,這可能不會通過執行子進程工作。 – abyx 2010-05-18 16:16:54
@abyx:但這與給定的問題無關,即使它是真的 – SilentGhost 2010-05-18 16:19:24