Ich war ein wenig süchtig nach der Installation von Python3.3 + mod_wsgi3.4 auf Sakura VPS (CentOS), also ein Hinweis zur Überprüfung

Vorwort

Bei der erstmaligen Installation von python3.3 sieht es so aus ↓ (Siehe einige Websites.)

$ ./configure --prefix=/usr/local
$ make
$ make altinstall

Ich habe versucht, ein Pyramidenprojekt zu erstellen, indem ich virtualenv in diese Umgebung eingefügt habe. Daher habe ich versucht, Apache + mod_wsgi erneut für die Bereitstellung zu erstellen.

Es scheint nutzlos zu sein, wenn python3.3 nicht neu erstellt wird ...

Kompilieren Sie python3.3 vorerst mit zusätzlichen Parametern neu

$ cd /path/to/Python-3.3.0
$ ./configure CFLAGS=-fPIC --enable-shared --prefix=/usr/local
$ make
$ make install
$ echo $?

Bisher schien es kein Problem zu geben ...

$ python3.3
python3.3: error while loading shared libraries: libpython3.3m.so.1.0: cannot open shared object file: No such file or directory
$ 

Es heißt, dass die so-Datei nicht gefunden werden kann. Es war sicherlich in / usr / local / lib, also habe ich diesmal den Pfad zu / etc / ld.so.conf hinzugefügt und bin mit ldconfig davongekommen.

Also versuche ich weiterhin, mod_wsgi zu installieren, ohne an irgendetwas zu denken ...

$ wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz
$ tar zxvf mod_wsgi-3.4.tar.gz
$ cd mod_wsgi-3.4
$ ./configure CFLAGS=-fPIC --with-python=/usr/local/bin/python3.3
$ make
(Unterlassung)
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -o mod_wsgi.la  -rpath /usr/lib64/httpd/modules -module -avoid-version    mod_wsgi.lo -L/usr/local/lib -L/usr/local/lib/python3.3/config -lpython3.3 -lpthread -ldl -lutil -lm
/usr/bin/ld: cannot find -lpython3.3
collect2: ld returned 1 exit status
apxs:Error: Command failed with rc=65536
.
make: *** [mod_wsgi.la] Error 1
$

Ich habe einen unerwarteten Fehler erhalten und aufgehört. Ich habe nach der Neuinstallation von Python den Dateistatus überprüft.

$ ls -lt /usr/local/lib/python3.3/
(Abkürzung)
drwxr-xr-x  4 root root   4096 Feb  3 23:57 concurrent
drwxr-xr-x  2 root root   4096 Feb  3 23:57 config-3.3m
-rw-r--r--  1 root root  49499 Feb  3 23:57 configparser.py
(Abkürzung)

Ich bin nicht sicher, ob der Build speziell war, anscheinend in der Form "/ usr / local / lib / python3.3 / config-3.3m" anstelle von "/ usr / local / lib / python3.3 / config". Es scheint, dass ein Verzeichnis erstellt wird. Also als nächstes

$ ls -lt /usr/local/bin/
(Abkürzung)
lrwxrwxrwx 1 root root      16 Feb  3 23:57 python3-config -> python3.3-config
lrwxrwxrwx 1 root root      17 Feb  3 23:57 python3.3-config -> python3.3m-config
lrwxrwxrwx 1 root root       9 Feb  3 23:57 python3 -> python3.3
-rwxr-xr-x 1 root root    1970 Feb  3 23:57 python3.3m-config
(Abkürzung)
-rwxr-xr-x 2 root root   13347 Feb  3 23:57 python3.3
-rwxr-xr-x 2 root root   13347 Feb  3 23:57 python3.3m
(Abkürzung)

Da python3.3 und python3.3m existierten und -config sich endlich mit python3.3m-config befasste, denke ich, dass die Spezifikation von -lpython3.3 schlecht ist. Also entschied ich mich schließlich, das bei configure generierte Makefile so umzuschreiben

< LDFLAGS =  -L/usr/local/lib -L/usr/local/lib/python3.3/config 
< LDLIBS =  -lpython3.3 -lpthread -ldl  -lutil -lm
---
> LDFLAGS =  -L/usr/local/lib -L/usr/local/lib/python3.3/config-3.3m
> LDLIBS =  -lpython3.3m -lpthread -ldl  -lutil -lm
$ make
(Abkürzung)
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -o mod_wsgi.la  -rpath /usr/lib64/httpd/modules -module -avoid-version    mod_wsgi.lo -L/usr/local/lib -L/usr/local/lib/python3.3/config-3.3m -lpython3.3m -lpthread -ldl -lutil -lm
$ 
$ make install

Oh, mach normal fertig. Installieren Sie es also wie oben beschrieben. Ich konnte Apache ohne Probleme neu starten.

Ergänzung

Ich habe noch nicht bestätigt, dass mod_wsgi funktioniert.

Recommended Posts

Ich war ein wenig süchtig nach der Installation von Python3.3 + mod_wsgi3.4 auf Sakura VPS (CentOS), also ein Hinweis zur Überprüfung
Als ich versuchte, mithilfe von Anforderungen in Python zu kratzen, war ich süchtig nach SSLError, also einem Workaround-Memo
Memo (März 2020), dem ich bei der Installation von Arch Linux auf dem MacBook Air 11'Early 2015 verfallen war
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Eine Geschichte über das Schreiben von AWS Lambda und ein wenig Abhängigkeit von den Standardwerten von Python-Argumenten
Ein Memo mit Python2.7 und Python3 in CentOS
Ich war auf dotCloud süchtig nach Flask
Was ich süchtig nach Python Autorun war
Eine Geschichte, die mich süchtig nach dem Versuch machte, LightFM unter Amazon Linux zu installieren
Ich war süchtig danach, eine Python-Venv-Umgebung mit VS Code zu erstellen
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz
Erstellen einer Python-Umgebung auf dem Sakura VPS-Server
Ein Hinweis, dem ich beim Ausführen von Python mit Visual Studio Code verfallen war
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich war nüchtern süchtig danach, awscli von einem in crontab registrierten Python 2.7-Skript aus aufzurufen
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Eine Geschichte, von der ich bei np.where süchtig war
Python-Anfänger waren süchtig danach, ihre eigenen Pakete in der PyPI-Version vom Februar 2017 zu registrieren
Memo, als Django für VPS freigegeben wurde (Vorbereitung)
Wovon ich süchtig war, als ich Python Tornado benutzte
Wovon ich süchtig war, als der Processing-Benutzer zu Python wechselte
[Fix] Ich war süchtig nach dem alphanumerischen Urteil über Python-Strings
Hinweise zur Installation von Python unter CentOS
Eine Geschichte, die ich süchtig danach war, Lambda von AWS Lambda anzurufen.
Die Platte, von der ich süchtig war, als ich MeCab in Heroku einsetzte
Ich habe Taiga.IO auf CentOS7 installiert (ich habe ein Skript erstellt, als ich dort war)
Wovon ich süchtig war, als ich ALE in Vim für Python einführte
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Was ich mit json.dumps in Pythons base64-Codierung süchtig gemacht habe
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Es fiel mir schwer, meine Hausaufgaben zu machen, deshalb verwendete ich Python für das Management Accounting.
Ich war süchtig nach falschen Klassenvariablen und Instanzvariablen in Python
[Python] Als ich versuchte, ein Dekomprimierungswerkzeug mit einer Zip-Datei zu erstellen, die ich gerade kannte, war ich süchtig nach sys.exit ()
[Fabric] Ich war süchtig danach, Boolesche Werte als Argument zu verwenden. Notieren Sie sich also die Gegenmaßnahmen.
Ein Hinweis, wenn Sie systemd verwenden, um CentOS 7 dazu zu bringen, immer Python-Skripte auszuführen, denen nicht besonders bewusst war, dass sie als Daemon ausgeführt werden
Erstellen Sie eine Python-Umgebung in Centos
Erstellen Sie eine Python3-Umgebung unter CentOS7
Ich war süchtig nach Multiprocessing + Psycopg2
Zwei Dinge, die ich süchtig danach war, Django + Apache + Nginx unter Windows zu erstellen
Ich möchte Twitter mit Python twittern, bin aber süchtig danach
Ich war süchtig danach, Tensorflow auf einer GPU mit dem NVIDIA-Treiber 440 + CUDA 10.2 auszuführen
[Python-Memo] Ich möchte eine zweistellige Hexadezimalzahl aus einer Dezimalzahl erhalten
Eine Geschichte, die ich süchtig danach war, eine Video-URL mit Tweepy zu bekommen
Verwenden Sie Python aus Java mit Jython. Ich war auch süchtig danach.
Ich war süchtig danach, Markdown nicht für die lange Beschreibung von Pypi verwenden zu können
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Ein Memorandum, weil ich beim Versuch, MeCab mit Python zu verwenden, gestolpert bin
Plötzlich musste ich mit Python und Pyramid an einem Projekt arbeiten, also eine Notiz darüber, wie ich lerne
Ich habe Python 2.7 in Sakura VPS 1 GB installiert.
Ich war süchtig danach, mysqlclient zu installieren
Ich möchte eine Python-Umgebung erstellen
Herstellen einer Verbindung von Python zu MySQL unter CentOS 6.4
Ein wenig mehr Details zur Einschlussnotation von Python
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Wovon ich beim Erstellen von Webanwendungen in einer Windows-Umgebung abhängig war
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete