Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5242

[Python-de] probleme mit python 3 popen

From robert <robert@redcor.ch>
Newsgroups de.comp.lang.python
Subject [Python-de] probleme mit python 3 popen
Date 2018-09-23 16:08 +0200
Message-ID <mailman.78.1537711701.2746.python-de@python.org> (permalink)
References <33920c93-417b-ef60-4f54-cdfb878ed21c@redcor.ch>

Show all headers | View raw


Hoi zäme,


ich bin dabei scripts von v2 auf v3 zu konvertieren.

Jetzt habe ich ein Problem mit popen:

ich konstruiere einen Popen-Aufruf wie folgt:


Zuerst suche ich wo der virtualenvwrapper installiert ist:

cmd =['/bin/bash', '-c', 'echo $(which virtualenvwrapper.sh)']
p =subprocess.Popen(cmd, stdout=PIPE)
virtualenvwrapper =p.communicate()[0].strip()
Dann bastle ich einen bash Aufruf, in dem Virtualenvwrapper aktiv ist, 
und nutze diesen um einen Eintrag beim Virtualenwrapper zu löschen. 
Dieses Vorgehen ist nötig, weil sonst bash virtualenvwrapper nicht 
kennt. Hier der Popen-Aufruf:
commands ="""
export WORKON_HOME=%(home)s/.virtualenvs\n
export PROJECT_HOME=/home/robert/Devel\n
source %(virtualenvwrapper)s\n
rmvirtualenv %(site_name)s
"""%{
'home': os.path.expanduser("~"),
'virtualenvwrapper': virtualenvwrapper,
'site_name': site_name
}
p =subprocess.Popen(
'/bin/bash', stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
out, err =p.communicate(commands.encode())
Das funktionierte mit Python 2.7 gut. Der einzige unterschied war, dass 
ich p.communicate(commands), anstelle von 
p.communicate(commands.encode()) aufrufe. In Python 3 Bekomme ich 
folgende Fehlermeldung: /bin/bash: line 6: 
b/home/robert/.virtualenvs/workbench/bin/virtualenvwrapper.sh: No such 
file or directory es scheint das b vor b/home/robert/.. zu sein, dass 
den Fehler hervorruft. Wie muss ich vorgehen, um dieses Problem zu 
vermeiden? Wenn ich dem Command string zuerst redigiere:
commands =commands.replace("b'/home", "'/home").encode()
funktionierts, aber das kann ja keine Lösung sein. Danke Robert

Back to de.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

[Python-de] probleme mit python 3 popen robert <robert@redcor.ch> - 2018-09-23 16:08 +0200
  Re: [Python-de] probleme mit python 3 popen Peter Otten <__peter__@web.de> - 2018-09-24 16:49 +0200

csiph-web