Как установить библиотеку Python из репозитория

Если вы собираетесь использовать консольную команду, это будет:

chmod -R 777 /www/store. Опции -R (или --recursive) делают его рекурсивным.

Или, если вы хотите, чтобы все файлы в текущем каталоге имели все разрешения, введите:

chmod -R 777 ./

Если вам нужна дополнительная информация о команде chmod, см .: Разрешение на файл

2
задан 06.05.2020, 12:35

3 ответа

Вы не должны помещать файл (или вообще что-либо) в /usr... вручную - эта область управляется менеджером пакетов Ubuntu.

Полагаю, вам нужна библиотека, потому что вы хотите написать какой-нибудь скрипт / программу на Python, верно?

В этом случае вы можете просто поместить ее в ту же папку, что и ваша программа / скрипт and do

from clientsubnetoption import ClientSubnetOption

Обратите внимание, что библиотека имеет зависимость от dnspython, которая, к счастью, находится в репозиториях Ubuntu, поэтому вы можете установить ее с помощью

sudo apt-get install python-dnspython

(в качестве примечания) : обычно библиотеки Python распространяются в виде «яиц питона», которые публикуются в центральном «хранилище» под названием Python Package Index: https://pypi.python.org . Оттуда они могут быть установлены с помощью специальных инструментов например, easy_install, pip или zc.buildout. Вы также можете создавать изолированные среды Python, используя virtualenv и zc.buildout, поэтому абсолютно не нужно устанавливать даже сложные общесистемные библиотеки)

3
ответ дан 06.05.2020, 12:36
  • 1
    хорошо I' ve пытался заставить тот мини-язык разметки работать дюжину раз теперь, и сообщение все еще похоже на мусор. – swdev 06.05.2020, 12:37
  • 2
    Ahh, хорошо, не пакет, право. Удалите '.' перед ' .clientsubnetoption'. I' ve отредактировал пример кода – N00b Pr0grammer 06.05.2020, 12:37
  • 3
    Хорошо удостоверился, что clientsubnetoption.py файл находится в той же папке как мой сценарий, но когда я выполняю сценарий, я получаю это: 'Traceback (новый вызов в последний раз): Файл " тест py" строка 1, в < module> от .clientsubnetoption импортируют ClientSubnetOption ValueError: Предпринятый относительный импорт в непакете' – Daniel Lew 06.05.2020, 12:38

Вы можете использовать скрипт в любом из ваших собственных скриптов на python, добавив его в pythonpath. Это то, что интерпретатор Python использует, чтобы решить, где искать импортируемые пакеты Python. Чтобы добавить каталог или папку в pythonpath, введите в терминал следующее:

export PYTHONPATH=$PYTHONPATH:/my/other/path

это временно добавит «my / other / path» к пути python. «my / other / path» должен быть путем к каталогу / папке, в которой находится ClientSubnetOption. Например, вы можете поместить его в каталог ~/python_packages/clientsubnetoption. ~ обозначает домашний каталог.

Если вы хотите добавить этот каталог навсегда в pythonpath, добавьте приведенную выше строку в конец вашего файла .bashrc. Он должен находиться где-то в вашем домашнем каталоге, но это скрытый файл, поэтому, если вы используете графический интерфейс, чтобы найти его, вам нужно нажать CTRL-h, чтобы просмотреть его.

Последнее, что вам нужно сделать, это сделать каталог ClientSubnetOption помещенным в пакет python. На самом деле это намного проще, чем кажется. Я бы предложил разместить ClientSubnetOption в своем собственном каталоге с python_packages, чтобы путь выглядел примерно как ~ / python_packages / clientsubnetoption /. затем в каталоге clientubnetoption создайте файл с именем __init__.py. Для работы файла нужны два подчеркивания, предшествующие и следующие после init. Этот файл не должен содержать никакого кода, он просто должен присутствовать в каталоге для создания пакета Python.

Теперь, когда все готово, добавьте путь к клиентской подсистеме к вашему пути Python, открыв файл .bashrc и добавив следующую строку в конец файла:

export PYTHONPATH = $ PYTHONPATH: ~ / python_packages / clientsubnetoption /

Прежде чем любое из этих изменений вступит в силу, вам необходимо перезапустить вашу оболочку, введя в терминал следующую команду:

source ~/.bashrc

теперь вы должны иметь возможность импортировать клиентские подсистемы, используя следующий импорт в вашем скрипте:

from clientsubnetoption import ClientSubnetOption

надеюсь, что это не было слишком запутанным.

0
ответ дан 06.05.2020, 12:36

Вот предложение, вам нужно начать использовать IDE, если вы этого еще не сделали. В предоставленной вами ссылке находится один файл .py, который вы можете сохранить в ЛЮБОМ месте на вашем компьютере, а затем импортировать в активный проект Python с помощью IDE.

Как только он появится в проекте, вы можете вызывать его как хотите.

Я в той же лодке, что и вы, довольно новичок в Linux и начал программировать на Python, и лично я редко использую Terminal, чтобы делать что-либо связанное с Python.

Что касается навигации по терминалу, вы возвращаетесь в каталог, набирая «cd ..». Вы можете перейти прямо в свой домашний каталог, набрав "cd ~".

0
ответ дан 06.05.2020, 12:37
  • 1
    @user1781837: cd команда, .. или ~ параметры (родительский каталог и Ваш корневой каталог соответственно). Необходимо поместить пространство между командой и параметрами: cd .. – Adrien Joly 06.05.2020, 12:37
  • 2
    никакой CD.. ни CD ~ работает над моим терминалом человечности. Оба - " команда, не найденная " – Stephen Rauch 06.05.2020, 12:38
  • 3
    " " " IDE или " Интегрированная Разработка Environment" окажется Вами глупый. Они - худшие инструменты, если Вы хотите быть хорошим программистом, потому что они скрывают what' s продолжающийся от Вас и Вашего задания должен знать what' s продолжение. Они полезны если you' ре, пытающееся сделать что-то и платформу, разработано на основе конкретного IDE, но для обучения кодировать... они бессмысленны " " " (от Учатся C на горьком опыте: c.learncodethehardway.org/book/ex0.html ) – Alessandro 06.05.2020, 12:38
  • 4
    Я делаю при использовании времен IDE (обычно затмение), но я очень не хочу быть связанным с одним, если Вы видите то, что я имею в виду. С одной стороны, на большинстве соревнований по программированию Вы can' t используют их, которые предоставили на соревновании по программированию, Вы также - not' t устанавливающий любые библиотеки, но надо надеяться Вы получаете мой дрейф. – macrog 06.05.2020, 12:39

Теги

Похожие вопросы