So packen Sie schnell ein neues Python-Modul
Wenn Sie eine Anwendung installieren, installieren Sie normalerweise ein Softwarepaket, das den ausführbaren Code der Anwendung und wichtige Dateien wie Dokumente, Symbole usw. enthält. Unter Linux wird Software im Allgemeinen in RPM- oder DEB-Formate gepackt. Benutzer können sie je nach verwendeter Linux-Version über Befehle wie dnf
oder apt
installieren. Allerdings werden fast täglich neue Python-Module veröffentlicht, sodass es leicht ist, auf ein Python-Modul zu stoßen, das noch nicht gepackt wurde. Dies ist der Zweck von pyp2rpm
. dnf
或者 apt
等命令就可以进行安装了,这取决于你使用的 Linux 发行版。然而几乎每天都有新的 Python 模块发布,因此你很容易遇到一个尚未打包的 Python 模块。这就是 pyp2rpm
存在的意义了。
最近我在尝试安装一个叫 python-concentration
的模块,但是进展并不太顺利:
$ sudo dnf install python-concentration Updating Subscription Management repositories. Last metadata expiration check: 1:23:32 ago on Sat 11 Jun 2022 06:37:25. No match for argument: python-concentration Error: Unable to find a match: python-concentration
虽然这是一个发布在 PyPi 的包,但它仍不能被打包成 RPM 包。好消息是你可以使用 pyp2rpm
以一个相对简单的过程将它打包成 RPM 包。
首先你需要设置两个目录:
$ mkdir rpmbuild $ cd rpmbuild && mkdir SPECS
像这样去安装 pyp2rpm
:
$ sudo dnf install pyp2rpm
1、生成 spec 文件
RPM 包的基础是一种 spec 文件,这个文件包含你创建这个包的所有信息,如所需的依赖关系、应用的版本号、安装的文件等信息。当指向某个 Python 模块时,pyp2rpm
会为它构建一个 spec 文件,你可以用它来创建 RPM 包。
下面以 python-concentration
为例演示如何构建一个 spec 文件:
$ pyp2rpm concentration > ~/rpmbuild/SPECS/concentration.spec
下面是它生成的文件:
# Created by pyp2rpm-3.3.8 %global pypi_name concentration %global pypi_version 1.1.5 Name: python-%{pypi_name} Version:%{pypi_version} Release:1%{?dist} Summary:Get work done when you need to, goof off when you don't License:None URL:None Source0:%{pypi_source} BuildArch:noarch BuildRequires:python3-devel BuildRequires:python3dist(setuptools) %description Concentration [ >= 2.6.1 with python3dist(hug) < 3~~) Requires: python3dist(setuptools) %description -n python3-%{pypi_name} Concentration [需要记录日期。
%changelog * Sat Jun 11 2022 Tux- 1.1.5-1
再次运行 rpmint
:
$ rpmlint ~/rpmbuild/SPEC/concentration.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings.
成功!
3、下载源码
你需要下载好打包的代码才能进一步构建 RPM 包。一种简单的方式是解析你的 spec 文件以获取源码的网址。
首先,通过 dnf
安装 spectool
:
$ sudo dnf install spectool
然后通过 spectool
来下载源码:
$ cd ~/rpmbuild $ spectool -g -R SPEC/concentration.spec Downloading: https://files.pythonhosted.org/...concentration-1.1.5.tar.gz 6.0 KiB / 6.0 KiB[=====================================] Downloaded: concentration-1.1.5.tar.gz
这样就创建了一个 SOURCES
目录并将源码放入其中。
4、构建源软件包
现在你已经验证过 spec 文件了,接下来就可以通过 rpmbuild
构建源软件包了。如果你还没有安装 rpmbuild
,你也可以通过 dnf
安装 rpm-build
包(或者在使用 rpmbuild
命令时根据终端的的提示进行安装)。
参数 -bs
表示构建源软件包。添加这个参数会产生一个 src.rpm 文件,这是一个用于为特定架构重新构建的通用包:
$ rpmbuild -bs SPECS/concentration.spec Wrote: ~/rpmbuild/SRPMS/python-concentration-1.1.5-1.el9.src.rpm
为你的系统构建一个可安装的 RPM 文件:
$ rpmbuild –rebuild SRPMS/python-concentration-1.1.5-1.el9.src.rpm error: Failed build dependencies: python3-devel is needed by python-concentration-1.1.5-1.el9.noarch
看起来这个包需要安装 Python 的开发库才能继续构建。安装它们以继续构建。这一次,构建成功了,并且渲染了更多的输出(为了清楚起见,我在这里简略了输出):
$ sudo dnf install python3-devel -y $ rpmbuild –rebuild SRPMS/python-concentration-1.1.5-1.el9.src.rpm [...] Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.TYA7l2 + umask 022 + cd /home/bogus/rpmbuild/BUILD + rm -rf concentration-1.1.5 + RPM_EC=0 ++ jobs -p + exit 0
你的 RPM 包现在已经构建在 RPMS
子目录下,像平常一样使用 dnf
安装它。
$ sudo dnf install RPMS/noarch/python3-concentration*rpm
为什么不使用 PyPi?
通常情况下我们并不需要将 Python 模块打包成 RPM 包。通过 PyPi 来安装模块也是可以接受的,但是 PyPi 会安装额外的包管理器对你的模块进行检查和更新。当你使用 dnf
来安装 RPM 包时,你在安装完成时就能够获取到完整的安装列表。有了 pyp2rpm
python-concentration
zu installieren, aber der Fortschritt verlief nicht sehr reibungslos: 🎜rrreee🎜Obwohl dies ein auf PyPi veröffentlichtes Paket ist, kann es immer noch nicht in RPM Bag gepackt werden . Die gute Nachricht ist, dass Sie es mit pyp2rpm
in einem relativ einfachen Prozess in ein RPM-Paket packen können. 🎜🎜Zuerst müssen Sie zwei Verzeichnisse einrichten: 🎜rrreee🎜 Installieren Sie pyp2rpm
wie folgt: 🎜rrreee1. Spezifikationsdatei generieren
🎜Die Basis des RPM-Pakets ist eine Spezifikationsdatei Diese Datei enthält alle Informationen, die Sie zum Erstellen dieses Pakets benötigen, z. B. erforderliche Abhängigkeiten, Versionsnummer der Anwendung, installierte Dateien und andere Informationen. Wenn Sie auf ein Python-Modul verweisen, erstelltpyp2rpm
eine Spezifikationsdatei dafür, die Sie zum Erstellen von RPM-Paketen verwenden können. 🎜🎜Im Folgenden wird python-concentration
als Beispiel verwendet, um zu demonstrieren, wie eine Spezifikationsdatei erstellt wird: 🎜rrreee🎜Die folgende Datei wird generiert: 🎜rrreee2. Führen Sie rpmlint aus
🎜Um sicherzustellen, dass die Spezifikation der Datei dem Standard entspricht, müssen Sie den Befehlrpmlint
für die Datei verwenden: 🎜rrreee🎜Es scheint, dass das Änderungsprotokoll (%changelog
) muss das Datum aufzeichnen. 🎜rrreee🎜Führen Sie rpmint
erneut aus: 🎜rrreee🎜Erfolg! 🎜3. Laden Sie den Quellcode herunter
🎜Sie müssen den gepackten Code herunterladen, um das RPM-Paket weiter zu erstellen. Eine einfache Möglichkeit besteht darin, Ihre Spezifikationsdatei zu analysieren, um die URL des Quellcodes zu erhalten. 🎜🎜Installieren Sie zunächstspectool
über dnf
: 🎜rrreee🎜Laden Sie dann den Quellcode über spectool
herunter: 🎜rrreee🎜Dadurch wird ein erstellt Verzeichnis SOURCES
und fügen Sie dort den Quellcode ein. 🎜4. Erstellen Sie das Quellsoftwarepaket
🎜Nachdem Sie die Spezifikationsdatei überprüft haben, können Sie das Quellsoftwarepaket überrpmbuild
erstellen. Wenn Sie rpmbuild
nicht installiert haben, können Sie das Paket rpm-build
auch über dnf
installieren (oder rpmbuild
verwenden). Befolgen Sie die Anweisungen auf dem Terminal, um den Befehl zu installieren. 🎜🎜Der Parameter -bs
repräsentiert das Build-Quellpaket. Durch das Hinzufügen dieses Parameters wird eine src.rpm-Datei erstellt, bei der es sich um ein generisches Paket zum Neuaufbau für eine bestimmte Architektur handelt: 🎜rrreee🎜Erstellen Sie eine installierbare RPM-Datei für Ihr System: 🎜rrreee🎜Sieht aus, als ob für dieses Paket die Installation von Python erforderlich ist. Die Entwicklungsbibliothek kann weiter gebaut werden. Installieren Sie sie, um mit dem Bau fortzufahren. Dieses Mal ist der Build erfolgreich und gibt mehr Ausgabe aus (ich habe die Ausgabe hier der Übersichtlichkeit halber abgekürzt): 🎜rrreee🎜 Ihr RPM-Paket ist jetzt im Unterverzeichnis RPMS
erstellt. Installieren Sie es mit dnf
wie gewohnt. 🎜rrreeeWarum nicht PyPi verwenden?
🎜Normalerweise müssen wir Python-Module nicht in RPM-Pakete packen. Die Installation von Modulen über PyPi ist ebenfalls akzeptabel, aber PyPi installiert zusätzliche Paketmanager, um Ihre Module zu überprüfen und zu aktualisieren. Wenn Siednf
verwenden, um ein RPM-Paket zu installieren, können Sie nach Abschluss der Installation die vollständige Installationsliste abrufen. Mit pyp2rpm
ist dieser Prozess schnell, einfach und automatisiert. 🎜Das obige ist der detaillierte Inhalt vonSo packen Sie schnell ein neues Python-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

MySQL kann ohne Netzwerkverbindungen für die grundlegende Datenspeicherung und -verwaltung ausgeführt werden. Für die Interaktion mit anderen Systemen, Remotezugriff oder Verwendung erweiterte Funktionen wie Replikation und Clustering ist jedoch eine Netzwerkverbindung erforderlich. Darüber hinaus sind Sicherheitsmaßnahmen (wie Firewalls), Leistungsoptimierung (Wählen Sie die richtige Netzwerkverbindung) und die Datensicherung für die Verbindung zum Internet von entscheidender Bedeutung.

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

MySQL Workbench kann eine Verbindung zu MariADB herstellen, vorausgesetzt, die Konfiguration ist korrekt. Wählen Sie zuerst "Mariadb" als Anschlusstyp. Stellen Sie in der Verbindungskonfiguration Host, Port, Benutzer, Kennwort und Datenbank korrekt ein. Überprüfen Sie beim Testen der Verbindung, ob der Mariadb -Dienst gestartet wird, ob der Benutzername und das Passwort korrekt sind, ob die Portnummer korrekt ist, ob die Firewall Verbindungen zulässt und ob die Datenbank vorhanden ist. Verwenden Sie in fortschrittlicher Verwendung die Verbindungspooling -Technologie, um die Leistung zu optimieren. Zu den häufigen Fehlern gehören unzureichende Berechtigungen, Probleme mit Netzwerkverbindung usw. Bei Debugging -Fehlern, sorgfältige Analyse von Fehlerinformationen und verwenden Sie Debugging -Tools. Optimierung der Netzwerkkonfiguration kann die Leistung verbessern

Für Produktionsumgebungen ist in der Regel ein Server erforderlich, um MySQL auszuführen, aus Gründen, einschließlich Leistung, Zuverlässigkeit, Sicherheit und Skalierbarkeit. Server haben normalerweise leistungsstärkere Hardware, redundante Konfigurationen und strengere Sicherheitsmaßnahmen. Bei kleinen Anwendungen mit niedriger Last kann MySQL auf lokalen Maschinen ausgeführt werden, aber Ressourcenverbrauch, Sicherheitsrisiken und Wartungskosten müssen sorgfältig berücksichtigt werden. Für eine größere Zuverlässigkeit und Sicherheit sollte MySQL auf Cloud oder anderen Servern bereitgestellt werden. Die Auswahl der entsprechenden Serverkonfiguration erfordert eine Bewertung basierend auf Anwendungslast und Datenvolumen.
