Rund um die Installation des Python-Projektmanagement-Frameworks Trac

trac_logo.png

0. Einleitung

Plötzlich wollte ich eine Ticket-gesteuerte Entwicklung machen, und ich war neugierig, was mit Trac passiert ist, das vor einigen Jahren populär war, und ich höre jetzt nicht viel darüber, also habe ich es installiert.

Apropos Trac, Trac Lightning für Windows ist berühmt, aber um ehrlich zu sein, empfehle ich es Programmierern nicht. Das liegt daran, dass Trac Lightning verschiedene Plug-Ins in die Robustheit einbindet, und ehrlich gesagt, stören die Funktionen, die ich überhaupt nicht benutze, diese und es ist mühsam, sie einzeln zu löschen. Deshalb habe ich dieses Mal reines Trac installiert und betrieben Die Geschichte zu tun.

Diese Geschichte ist Ich spreche basierend auf ** Trac ver 1.0.4 **.

Die Informationen zu v0.1 und v0.12, dem beliebtesten Trac, befinden sich im WEB, aber dieses Mal werde ich die neueste Version 1.0.4 verwenden. Die Einstellungen sind unterschiedlich! Bitte trauere nicht. (Geklagte Person w

1. Herunterladen

Da es aus Python besteht, kann es mit pip installiert werden.

nur das. (Wie erwartet, Python! Ich verliebe mich in es, ich sehne mich danach w)

2. Trac-Einstellungen und Initialisierung

Erstellen Sie einen Ordner, um die von Trac betriebenen Projekte zu speichern.

Vorerst habe ich einen Ordner namens Main erstellt.

Sie können Trac mit trac-admin konfigurieren. ./Main ist das Verzeichnis, das Sie gerade erstellt haben initenv soll in diesem Verzeichnis initialisiert werden.

Wenn ich den Befehl drücke, sieht es nicht wie folgt aus ... Es ist eigentlich Englisch, also bitte irgendwie weitermachen.

Screenshot from 2015-03-01 20:12:36.png

Es gibt zwei Elemente. Projektname und Datenbankauswahl. Der Projektname ist diesmal main Die Datenbank wird einfach eingegeben und verwendet die Standard-SQLite. SQLite am besten w

3. Starten Sie den Server

Ich hasse Apache (weil es für mich unverständlich riesig ist), also ist es diesmal Python. Warum also nicht einen einfachen Server? Ich dachte, es wäre standardmäßig in Trac enthalten.

tracd ist die Server-App von Trac, --port ist die Einstellung für die Portnummer, aberhost ist ebenfalls verfügbar. Der Rest ist die Deklaration des Verzeichnisses.

Starten Sie nach und nach den Browser und versuchen Sie, auf localhost: 1121 für den verdächtigen Dämon zuzugreifen.

Screenshot from 2015-03-01 20:15:15.png

Dann erscheint die folgende Site und wenn Sie auf den Link klicken,

Screenshot from 2015-03-01 20:15:38.png

Wird sein. (Oh? Es tut mir leid, wenn Sie bemerkt haben, dass das Menü auf Englisch ist. Bitte haben Sie Verständnis dafür, dass ich die Methode der Japanisierung später schreiben werde.)

Herzliche Glückwünsche. Die Installation von Trac wurde erfolgreich abgeschlossen. Als nächstes folgt die Geschichte der Passwörter und der japanischen Lokalisierung.

4. Passwort erstellen

Login mit Trac ist Basic-Login. Ich denke, ich hätte andere Anmeldemethoden auswählen können, bin mir aber nicht sicher, also werde ich bestehen.

Auch hier sagen verschiedene Websites, dass Apachi verwendet werden soll, aber hier generieren wir Hash-Code mit Python.

pass.py


from optparse import OptionParser
import md5

# build the options
usage = "usage: %prog [options]"
parser = OptionParser(usage=usage)
parser.add_option("-u", "--username",action="store", dest="username", type = "string",
                  help="the username for whom to generate a password")
parser.add_option("-p", "--password",action="store", dest="password", type = "string",
                  help="the password to use")
(options, args) = parser.parse_args()

# check options
if (options.username is None) or (options.password is None):
   parser.error("You must supply both the username and password")
   
# Generate the string to enter into the htdigest file
realm = 'trac'
kd = lambda x: md5.md5(':'.join(x)).hexdigest()
str = ':'.join((options.username, realm, kd([options.username, realm, options.password])))

f = open("login","w")
f.write(str)
f.close()

Eine kleine Modifikation der offiziellen Probe,

5. Melden Sie sich an

Nachdem die Anmeldedatei erstellt wurde, starten Sie den Server erneut.

Wie Sie sehen können, wurde --auth hinzugefügt. --auth ist --auth = , , . Die Formel hat einen anderen Namen, sieht aber wie mein Bild aus.

Wenn Sie damit beginnen und sicher gehen, wird die Registerkarte "Ticketerstellung" vergrößert.

6. Japanische Lokalisierung

Trac verwendet Subversion, also setzen Sie es zuerst ein.

Setzen Sie es in so etwas

Dann laden Sie die Datei herunter und

Installieren mit.

Und wenn ich Tracd wieder starte, denke ich, dass das Menü ein wenig japanisch ist.

7. Schließlich

Ich glaube nicht, dass viele Leute jetzt etwas über Trac wissen http://ja.wikipedia.org/wiki/Trac Es ist ein bisschen alt http://itpro.nikkeibp.co.jp/article/COLUMN/20080414/298973/ Möglicherweise können Sie die Situation erfassen, wenn Sie sehen

tracd --host $HOST --port PORT --auth=*,login,trac ./Project1 
--auth=*,login,trac ./$Project2 \

Der Grund, warum ich mich für Trac entschieden habe, ist, dass es von Python hergestellt wurde! !! Es ist w8. Tricks Tech? Wenn Sie eine Sicherung benötigen, können Sie den gesamten von trac-admin angegebenen Verzeichnissatz kopieren. Das ist wunderbar. Außerdem befindet sich im Datenbankverzeichnis unformatiertes SQLite, sodass Sie es sogar neu erstellen können. Toll. Wenn Sie mehrere Projekte haben, können Sie mit trac-admin ein neues erstellen oder eine vorhandene Datei kopieren und ein Skript erstellen. Toll.

Da Trac von Python hergestellt wird, gibt es wahrscheinlich mehr Tricks. Selbst in Bezug auf den Server frage ich mich, ob dies möglich ist, da es auf uwsgi ~ Fufufu w ausgeführt wird Entschuldigen Sie, dass ich schlecht bin. w

Recommended Posts

Rund um die Installation des Python-Projektmanagement-Frameworks Trac
Die Python-Projektvorlage, an die ich denke.
der Zen von Python
Installieren von Python 3.3 rc1
Installation von matplotlib (Python 3.3.2)
[Rezept des Trainers] Ich habe die Flasche des Python-Frameworks berührt.
Aufgaben zu Beginn eines neuen Python-Projekts
Auf dem Weg zum Ruhestand von Python2
Über die Funktionen von Python
Quellinstallation und Installation von Python
Die Kraft der Pandas: Python
Mac Initial Settings-Python (pyenv) Installation am schnellsten
Memorandum des Python-Paketverwaltungstools ez_setup
Die Geschichte von Python und die Geschichte von NaN
Installation von SciPy und matplotlib (Python)
[Python] Der Stolperstein des Imports
Erster Python 3 ~ Der Beginn der Wiederholung ~
[In der Abbildung verstanden] Verwaltung der virtuellen Python-Umgebung durch Pipenv
Existenz aus Sicht von Python
pyenv-change die Python-Version von virtualenv
[Python] Die potenzielle Feldplanung von Python Robotics verstehen
Installation von Python, SciPy, matplotlib (Windows)
Überprüfung der Grundlagen von Python (FizzBuzz)
Informationen zur Grundlagenliste der Python-Grundlagen
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
Versuchen Sie es mit Pythons Webframework Django (1) - Von der Installation bis zum Serverstart
Installation von Visual Studio Code und Installation von Python
Einführung in das BOT-Framework Minette für Python
Ändern Sie die Länge der Python-CSV-Zeichenfolgen
Überprüfen Sie das Verhalten des Zerstörers in Python
Verstehen Sie den Komfort des Django Rest Framework
[Python3] Verstehe die Grundlagen von Beautiful Soup
Übergeben Sie den Pfad des importierten Python-Moduls
Python-Installation und Paketverwaltung mit pip
Notizen vom Anfang von Python 1 lernen
Überprüfen Sie die Existenz der Datei mit Python
Informationen zur virtuellen Umgebung von Python Version 3.7
[Python3] Schreiben Sie das Codeobjekt der Funktion neu
Ich kannte die Grundlagen von Python nicht
Das Ergebnis der Installation von Python auf Anaconda
[Python] Probieren Sie pydash der Python-Version von lodash aus
[Python] Überprüfen Sie den Speicherverbrauch von Variablen
Überprüfen Sie den Pfad des importierten Python-Moduls
Die Geschichte der Manipulation globaler Python-Variablen
[Python] [Meta] Ist der Python-Typ ein Typ?
Grundlagen zum Ausführen von NoxPlayer in Python
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Projekt Euler # 16 "Summe der Kräfte" in Python
Auf der Suche nach dem schnellsten FizzBuzz in Python
Python-Grundkurs (Ende 15)
Legen Sie den Prozessnamen des Python-Programms fest
[Python] Ruft den Zeichencode der Datei ab
Die Geschichte der Verarbeitung A von Blackjack (Python)
Lernen Sie intuitiv die Umformung von Python np
Python Hinweis: Die geheime Rolle von Kamma
Projekt Euler # 17 "Anzahl der Zeichen" in Python