ubuntuusers.de

Setup.py

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

marlem

Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Hallo,

ich habe eine Setup.py-Datei erstellt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import os
import sys
from setuptools import setup


setup(name='PQT-Texteditor',
      version='1.0',
      description='Barrierefreier Texteditor der plattformunabhängig ist',
      author='Markus Lemcke',
      author_email='info@marlem-software.de',
      url='https://www.marlem-software.de',
      install_requires=['PyQt5'],
     )

Jetzt habe ich folgendes im Terminal versucht:

1
2
chmod +x setup.py
python3 setup.py install

Ich bekam folgende Fehlermeldung:

error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/test-easy-install-3247.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python3.8/dist-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://setuptools.readthedocs.io/en/latest/easy_install.html

Frage: Was sagt diese Fehlermeldung? Was muß ich tun, damit ich die setup.py-Datei unter Ubuntu ausführen kann?

Bearbeitet von sebix:

Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Beim unteren habe ich bewußt ein Zitat gewählt, weil es eine Fehlermeldung ist.

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5576

marlem schrieb:

Beim unteren habe ich bewußt ein Zitat gewählt, weil es eine Fehlermeldung ist.

Aber nur fuer die erste Zeile und nicht fuer die gesamte Fehlermeldung. Im Zitat gehen zB Einrueckungen verloren (was hier egal gewesen waere), daher eignen sich Codebloeck eigentlich auch immer fuer jegliche Terminal-Ein- und Ausgaben inkl. Fehlermeldungen.

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

In Ordnung. Ich werde beim nächsten Mal daran denken, versprochen!

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4450

Wohnort: Göttingen

Naja, die Fehlermeldung ist doch ziemlich eindeutig:

Permission denied: '/usr/local/lib/python3.8/dist-packages/test-easy-install-3247.write-test'

Sprich, dein Benutzer hat nicht die notwendigen Rechte auf dem Verzeichnis.

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Ja Du hast recht. Aber im Verzeichnisname steht die Python-Version. Das bedeutet das Verzeichnis könnte auch so heißen:

1
/usr/local/lib/python4.0/dist-packages/test-easy-install-3247.write-test

Ich habe gerade keine Idee wie ich das Problem lösen soll.

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4450

Wohnort: Göttingen

Ich denke, Du musst das Skript mit sudo ausführen, damit Du die entsprechenden Rechte hast, also

sudo python3 setup.py install

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Hat funktioniert! Danke!

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Aber im Verzeichnisname steht die Python-Version. Das bedeutet das Verzeichnis könnte auch so heißen:

Nein, weil dann die Dateien nur für Python 4.0 installiert wären und alle anderen Python-Versionen dein Programm _nicht_ sehen würden. Du musst es ja grundsätzlich für jede Python-Version installieren, wenn du mehr als eine auf dem Rechner hast. OOTB wird es nur für das Default-Python (bei Focal als 3.8) installiert.

Wenn du dein Programm unter die Leute bringen willst, sollte es aber via pip installierbar sein, das ist ja der Standard bei Python.

Gruß, noisefloor

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

Vielen Dank für die Aufklärung.

Wo finde ich Informationen zur Installation via pip?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hier: https://packaging.python.org/

Gruß, noisefloor

Neral

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 230

Noch als Hinweis: Pakete mit pip bzw. setup.py global (nach /usr/local/lib/pythonx.y/site-packages bzw. ~/.local/lib/pythonx.y/site-packages) zu installieren, ist immer ein bisschen risikobehaftet, weil man sich damit im schlimmsten Fall andere Python-Programme kaputt macht, weil man zum Beispiel eine Abhängigkeit in einer inkompatiblen Version installiert, die dann das Paket aus der Paketverwaltung überdeckt.

Ich persönlich installiere mit pip bzw. setup.py nur in virtuellen Umgebungen, die globalen Installationsorte bleiben der Paketverwaltung vorbehalten.

marlem

(Themenstarter)
Avatar von marlem

Anmeldungsdatum:
12. Juli 2016

Beiträge: 139

Wohnort: Dußlingen

@noisefloor und @Neral Vielen Dank!

Antworten |