.py datei installieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

ich habe eine olympus pen pl7 und arbeite mit lightroom 5.6. das programm erkennt aber die raw daten der kamera noch nicht. ein mitglies in dem system -kamera forum . de hat dor einen script , ich glaube so nennt man es mit der endung .py hinterlegt. ich habe nun auf meinem rechner python 3.4.1 installiert. kann auch mit der rechten maustaste diesen öffnen. jetzt brauche ich bitte eure hilfe , welchen button "run oder options" muß ich betätigen um diesen script ? bei mir zu installieren. danke im voraus für eure hilfe. claus der anfänger
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

kurumba03 hat geschrieben:welchen button "run oder options" muß ich betätigen um diesen script ? bei mir zu installieren.
Wenn es sich nur eine Datei handelt, dann besteht die Installation darin, dass du diese Datei in ein Verzeichnis kopierst. Dieses Verzeichnis sollte nicht unterhalb des Installationsverzeichnisses von Python liegen.

Dann öffnest du eine Konsole (Kommandozeile) und wechselst in das Verzeichnis in dem das Python-Skript liegt. Dann gibst du den Namen des Skriptes ein und drückst [Enter]. Sollte das Skript noch Parameter benötigen, dann musst du diese ebenfalls angeben.

Sollte die Python-Laufzeitumgebung nicht gefunden werden weil beispielsweise Python nicht im Pfad liegt oder die Verknüpfung von Python mit .py-Dateien nicht vorhanden ist, dann musst du Python explizit aufrufen. Das könnte dann wie folgt aussehen.

Code: Alles auswählen

C:\Python34\python.exe skriptname.py
Benötigt das Skript Parameter, dann würde das etwa so aussehen.

Code: Alles auswählen

C:\Python34\python.exe skriptname.py parameter1 parameter2
BlackJack

@kurumba03: Falls es sich um das Programm aus diesem Beitrag handelt: http://www.systemkamera-forum.de/topic/ ... try1108997 dann muss man das nicht installieren, sondern wie von /me beschrieben auf der Kommandozeile des Betriebssystems aufrufen. Und zwar mit dem Pfad in dem die Dateien liegen als Argument.

Edit: Link repariert.
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

BlackJack hat geschrieben:@kurumba03: Falls es sich um das Programm aus diesem Beitrag handelt: http://www.systemkamera-forum.de/topic/ ... try1108997 dann muss man das nicht installieren, sondern wie von /me beschrieben auf der Kommandozeile des Betriebssystems aufrufen. Und zwar mit dem Pfad in dem die Dateien liegen als Argument.

Edit: Link repariert.
erstmal danke für eure mühe aber ich hab so etwas noch nicht gemacht , was ihr im schlaf könnt. ich glaub aber mit eurer hilfe krieg ichs hin. blackjack hat schon mal richtig vermutet worum es geht. ich habe diese datei "kameramodell_aendern.py" z.b in meinem downloadordner öffne dies mit edit idle und öffne python comman line. jetzt würde ich dort den Pfad eintragen wo dieses kameramodell_aendern.py liegt. so hab ichs versucht , war aber scheisse , weil nichts passiert ist. ich bitte um hiiiilfe danke
BlackJack

@kurumba03: Vergiss mal irgendwelche grafischen Sachen zum draufklicken, Du müsstet die Shell Deines *Betriebssystems* öffnen. Die hat mit Python an sich erst einmal nichts zu tun. Und von dort dann das Python-Programm starten. Vielleicht hilft The Command Line Crash Course weiter die generellen Zusammenhänge zu verstehen.
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

danke für eure mühe. also python istalliert, dann cmd.exe geöffnet und jetzt mein fehler. es erscheint darin c.user.claus47 und anschliessend ein blinkender unterstrich dort hab ich dann geschrieben D:\Claus\Downloads\kameramodell_aenderung.py jetzt eine leertaste gedrückt und dann den ort angegeben in meinem fall C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6

bei enter kommt zur antwort : Der Befehl ist entweder falsch geschrieben oder konnte nicht gefunden werden. sicherlich sind die RAW in einem ganz anderen ordner. nur wenn ich bei adobe in suchen "raw" angebe, sehe ich hunderte von raw endungen aber in verbindung mit oblektiven. noch möchte ich aber nicht aufgeben .

leider ist dein link für mich nicht hilfreich, da es alles in englisch geschrieben ist. man sagt ja immer es gibt keine hoffnungslosen fälle, aber sicher bin ich hier in einem für mich falschen forum, wo es natürlich nur ums programmieren geht. bin also der superlaie, anders kann ich mich nicht bezeichnen. aber zumindest habe ich schon mal die kommandozeile geöffnet .....mal sehen ob einer von euch mir noch etwas weiter helfen kann. entschuldigt bitte mein unwissen
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

ich wollte mal ein foto von meiner kommandozeile einfügen. geht das ?
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@kurumba03: Deine Kommandozeile ist wahrscheinlich ein schwarzes Fenster mit grauer Schrift. Interessanter wäre der Inhalt als Text.

Wenn die Endung .py bei Dir nicht mit dem Pythoninterpreter verknüpft ist, kannst Du Pythonskripte nicht einfach mit dem Namen aufrufen. Statt dessen mußt Du direkt Python starten, wie das /me schon beschrieben hat

Code: Alles auswählen

C:\Python34\python.exe D:\Claus\Downloads\kameramodell_aenderung.py "C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6"
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

Sirius3 hat geschrieben:@kurumba03: Deine Kommandozeile ist wahrscheinlich ein schwarzes Fenster mit grauer Schrift. Interessanter wäre der Inhalt als Text.

Wenn die Endung .py bei Dir nicht mit dem Pythoninterpreter verknüpft ist, kannst Du Pythonskripte nicht einfach mit dem Namen aufrufen. Statt dessen mußt Du direkt Python starten, wie das /me schon beschrieben hat

Code: Alles auswählen

C:\Python34\python.exe D:\Claus\Downloads\kameramodell_aenderung.py "C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6"
danke sirius 3 für deine mithilfe mit einem, der vom progammieren keine ahnung hat aber durchaus lernfähig ist.
ich habe jetzt die p34 exe geöffnet und in das schw.kästchen gleich auf dem blinkenden unterstrich D:\Claus\Downloads\kameramodell_aenderung.py "C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6" dieses eingetippt. es erschien folgendes :
SyntaxError: invalid syntax.

die zweite version, die ich probiert habe C:\Python34\python.exe D:\Claus\Downloads\kameramodell_aenderung.py "C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6" sieht so aus und als antwort kommt File "<stdin>". line 1 C:\Python34\python.exe D:\Claus\Downloads\kameramodell_aenderung.py "C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6"

vielleicht könnte ich einen hinweis bekommen, was ich wieder falschgemacht habe. ich möchte nochmal erwähnen, wenn ich von meinem chip die fotos direkt mit lr 5.6 übertrage , ist es ein ordner auf einer festplatte " K\Lightroom 5.6" so von mir benannt. ist es nun wichtig die .py datei dorthin zu bringen oder direkt ins programm ? ich denke doch ins programm also nach c danke euch und es tut mir leid, dass ich euch so nerve . beste grüße claus
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@kurumba03: Du sollst in der Windows-Shell den Befehl eintippen und nicht im interaktiven Python

Das sollte bei Dir ungefähr so aussehen:

Code: Alles auswählen

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\kurumba03>
und jetzt tippen.
BlackJack

Mal Quick'n'Dirty als GUI-Anwendung umgeschrieben. Nahezu ungetestet. Benutzung auf eigene Gefahr. Von wichtigen Daten immer Sicherungen machen. :-)

Code: Alles auswählen

# coding: utf8
from __future__ import absolute_import, division, print_function
import os
import shutil
import sys
try:
    import Tkinter as tk
    from tkFileDialog import askdirectory
except ImportError:
    import tkinter as tk
    from tkinter.filedialog import askdirectory
from traceback import format_exc
from glob import glob

FILENAME_PATTERN = '*.[oO][rR][fF]'
OLD_VALUE = b'E-PL7'
NEW_VALUE = b'E-M10'
assert len(OLD_VALUE) == len(NEW_VALUE)


def replace(filename, old, new):
    with open(filename, 'rb') as the_file:
        content = the_file.read()
    with open(filename, 'wb') as the_file:
        the_file.write(content.replace(old, new))


class ReplacerUI(tk.Frame):

    def __init__(self, master):
        tk.Frame.__init__(self, master)
        self.process_button = tk.Button(
            self, text='ORF-Dateien bearbeiten...', command=self.process_files
        )
        self.process_button.pack(side=tk.TOP)
        self.output = tk.Text(self, width=80, height=25, state=tk.DISABLED)
        self.output.pack(side=tk.TOP)
        self.path = '.'
        self.backup_path = None

    def log(self, text):
        self.output['state'] = tk.NORMAL
        self.output.insert(tk.END, text + '\n')
        self.output['state'] = tk.DISABLED

    def _process_file(self, filenames, filename_count):
        try:
            try:
                filename = next(filenames)
            except StopIteration:
                self.log(
                    'Fertig!\n'
                    '{0} Dateien wurden verarbeitet.\n'.format(filename_count)
                )
                self.process_button['state'] = tk.NORMAL
                return
            else:
                shutil.copy2(filename, self.backup_path)
                replace(filename, OLD_VALUE, NEW_VALUE)
                self.log(
                    '{0} verarbeitet.'.format(os.path.basename(filename))
                )
        except Exception as error:
            self.log(str(error))
            self.log(format_exc())
        self.update_idletasks()
        self.after_idle(self._process_file, filenames, filename_count)

    def process_files(self):
        path = askdirectory(
            initialdir=self.path,
            parent=self,
            title='Pfad mit ORF-Dateien',
            mustexist=True
        )
        if path is not None:
            try:
                self.log('Bearbeite Pfad: {0}'.format(path))
                self.path = path
                self.backup_path = os.path.join(self.path, 'backup')
                filenames = glob(os.path.join(self.path, FILENAME_PATTERN))
                self.process_button['state'] = tk.DISABLED
                self.update_idletasks()
                self.after_idle(
                    self._process_file, iter(filenames), len(filenames)
                )
            except Exception as error:
                self.log(str(error))
                self.log(format_exc())
                self.process_button['state'] = tk.NORMAL


def main():
    root = tk.Tk()
    root.title('Kamerakennung ersetzen')
    replacer_ui = ReplacerUI(root)
    replacer_ui.pack()
    root.mainloop()


if __name__ == '__main__':
    main()
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

Sirius3 hat geschrieben:@kurumba03: Du sollst in der Windows-Shell den Befehl eintippen und nicht im interaktiven Python

Das sollte bei Dir ungefähr so aussehen:

Code: Alles auswählen

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\kurumba03>
und jetzt tippen.
Danke sirius für deine geduld ,Also es sieht so aus, wie du beschrieben hast..es geht also so los in zeile 4. C:\Users\Claus1947> so daran hab ich folgendes angefügt
D:\Claus\Downloads\kameramodell_aenderung.py"C:\Programme\Adobe\Adobe Photoshop Lightroom 5.6" ohne leerzeichen , jetzt kommt folgende antwort : die syntax für den dateinamen,verzeichnisnamen oder die datenträgerbezeichnung ist falsch. also meine raw's in meinem fall bislang .NEF habe ich immer direkt auf meinen datenträger K gebracht. in diesem ist ein ordner Lightroom 5 mit etlichen unterordnern. wenn ich nur wüßte ,wo es bei lightroom die kameras aufgeführt sind, wo letztendlich die kameraänderung vorgenommen werden soll. unter c-progr-adobe-adobe photoshop lr 5.6 hatte ich ja schon nach raw gesucht und raw.icp gefunden. jetzt bin ich natürlich hilflos. grüße von claus
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Da fehlt auf jeden Fall ein Leerzeichen zwischen Programm und Pfad.
Das Leben ist wie ein Tennisball.
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

EyDu hat geschrieben:Da fehlt auf jeden Fall ein Leerzeichen zwischen Programm und Pfad.
so jetzt habe ich alles nochmal eigegeben mit leerzeichen. den ersten fehler hab ich schon gemacht beim script namen. er lautet nämlich : kameramodell_aendern.py
soweit war alles ok. aber nach der enter taste kam folgende antwort.
Traceback <mostrecent call last>:
File "D:\Claus\Downloads\kameramodell_aendern.py", line 26, in<module>
os.mkdir<bachup>
PermissionError: (WinError 5) Zugriff verweigert: 'backup'


dieses ist für mich natürlich als großer laie, der zwar bemüht ist alles richtig zu machen, eine nummer zu groß. die Cameras müssen doch von lr irgendwo installiert sein.
wenn mir z.b . jemand eieb neue schrift anbietet , weiß ich genau, dass sie in fonts kpiert wird . vielen dank claus
kurumba03
User
Beiträge: 8
Registriert: Montag 3. November 2014, 08:51

EyDu hat geschrieben:Da fehlt auf jeden Fall ein Leerzeichen zwischen Programm und Pfad.
hi eydu,es hat endlich geklappt. ich bedanke mich bei allen , die mit mir so viel geduld hatte. beste grüße claus
Antworten