je dois exécuter la commande . /home/db2v95/sqllib/db2profile
avant que je puisse import ibm_db_dbi
en Python 2.6.Exécuter une commande BASH dans Python-- dans le même processus
il exécution avant d'entrer Python fonctionne:
[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
>>>
mais l'exécuter en Python en utilisant os.system(". /home/db2v95/sqllib/db2profile")
ou subprocess.Popen([". /home/db2v95/sqllib/db2profile"])
provoque une erreur. Qu'est-ce que je fais mal?
Edit: ceci est l'erreur que je reçois:
> 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
Total des estimations, mais il semble que le script définit certaines choses dans l'environnement, ce qui ne fonctionnera probablement pas en exécutant un sous-processus. – abyx
@abyx: mais c'est sans rapport avec le problème donné, même s'il est vrai – SilentGhost