
Προσπαθώ να χρησιμοποιήσετε svnmerge.py να συγχωνεύσει κάποια αρχεία. Κάτω από το καπό που χρησιμοποιεί python, και όταν το χρησιμοποιώ παίρνω ένα λάθος - «Το σύστημα δεν μπορεί να εντοπίσει το καθορισμένο αρχείο». Οι συνάδελφοι στην εργασία εκτελεί την ίδια έκδοση του svnmerge.py, και python (2.5.2, ειδικά R252: 60911) χωρίς πρόβλημα.


Βρήκα [αυτό το link](http://www.nabble.com/problem-under-some-windows-desktop-td15868057.html) , το οποίο περιγράφει το πρόβλημά μου. Προσπαθώντας αυτό που περιγράφεται εκεί, επιβεβαίωσε Python θα μπορούσε να βρει svn (είναι στο δρόμο μου):



```
P: \> python 
Python 2.5.2 (R252: 60911, 21η Φεβρουαρίου του 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] για win32 
Τύπος «βοήθεια», «πνευματικά δικαιώματα», «μονάδες» ή «άδεια» για περισσότερες πληροφορίες. 
>>> os εισαγωγής 
>>> i, k = os.popen4 ( svn --version) 
>>> i.close () 
>>> k.readline () 
'Svn, έκδοση 1.4.2 (r22196) \ n' 

```

Κοιτάζοντας τον κωδικό svnmerge.py, όμως, παρατήρησα για τις εκδόσεις python 2.4 και άνω θα ακολουθούσε μια διαφορετική πορεία εκτέλεσης. Αντί να επικαλούνται os.popen4 () χρησιμοποιεί subprocess.Popen (). Προσπαθώντας να αναπαράγει το σφάλμα:



```
C: \> python
Python 2.5.2 (R252: 60.911, 21η Φεβρουαρίου του 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] για Win32 Τύπος βοήθεια, πνευματικά δικαιώματα, μονάδες ή άδεια για περισσότερα πληροφορίες.
>>> υπο-εισαγωγή
>>> ρ = subprocess.Popen ( --version svn, stdout = subprocess.PIPE, 
>>> close\_fds = False, stderr = subprocess.PIPE)
Traceback (πιο πρόσφατη κλήση τελευταία):
 File , line 1, στο 
 Φάκελος C: \ Python25 \ lib \ subprocess.py, γραμμή 594, στο \_\_init\_\_
 errread, errwrite)
 Φάκελος C: \ Python25 \ lib \ subprocess.py, γραμμή 816, στο \_execute\_child
 startupinfo)
WindowsError: [λάθους 2] Το σύστημα δεν μπορεί να βρει το καθορισμένο αρχείο
>>>

```

Προς το παρόν, έχω σχολίασε το 2.4-και υψηλότερης ειδικό κωδικό, αλλά θα ήθελα να βρουν μια κατάλληλη λύση.


Αν δεν είναι προφανής, είμαι ένα πλήρες python αρχάριος, αλλά η Google δεν έχει βοηθήσει. Όλες οι δείκτες;

 
«Το σύστημα δεν μπορεί να εντοπίσει το καθορισμένο αρχείο», όταν γίνεται επίκληση subprocess.Popen σε python
============================================================================================================



Είναι ένα σφάλμα, ανατρέξτε στην [τεκμηρίωση της`subprocess.Popen`](http://docs.python.org/lib/node528.html) . Εκεί είτε θα πρέπει να είναι μια `"shell=True`"επιλογή, ή το πρώτο επιχείρημα πρέπει να είναι μια ακολουθία `['svn', '--version']`. Όπως είναι τώρα, `Popen`ψάχνει για ένα εκτελέσιμο το όνομα, κυριολεκτικά,“svn --version”που δεν βρίσκουν.


Δεν ξέρω για ποιο λόγο θα μπορούσε να λειτουργήσει για τους συναδέλφους σας όμως, αν εκτελείτε το ίδιο λειτουργικό σύστημα και την έκδοση της Python ... FWIW μου δίνει το ίδιο μήνυμα λάθους σε έναν υπολογιστή Mac, και έναν από τους δύο τρόπους που έδωσε διορθώσεις που .

 