В pycharm (выпуск сообщества 2018.3.5) я создал новый проект my_module.В my_module dir я создал новый (python) файл mymodule.py, в который я поместил:
LOG_LEVEL = 1
def print_text(text):
print(text)
class MyClass:
def __init__(self, text):
self.text = text
def print(self):
print(self.text)
if __name__ == '__main__':
print('LOG_LEVEL =', LOG_LEVEL)
print_text('abc')
obj = MyClass('test')
obj.print()
Если запустить mymodule.py, я получу вывод:
LOG_LEVEL = 1
abc
test
, которыйвсе в порядке.
Я хотел бы использовать этот mymodule.py в частном порядке на нескольких компьютерах простым import mymodule
(из любого места).Я обнаружил, что могу использовать меню Pycharm Tools> Create setup.py для создания setup.py с содержимым:
from setuptools import setup
setup(
name='mymodule',
version='0.0.1',
packages=[''],
url='',
license='',
author='myself',
author_email='',
description=''
)
Если я вхожу (cwd) в каталог my_module (в котором находится mymodule.py) ивыполнить:
sudo pip3 install .
Processing /home/user/Python/my_module
Installing collected packages: mymodule
Running setup.py install for mymodule ... done
Successfully installed mymodule-0.0.1
После этого действия я могу запустить интерпретатор python из pycharm в любой папке и выполнить:
Python 3.7.2 (default, Jan 10 2019, 23:51:51)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mymodule
>>> mymodule.LOG_LEVEL
1
>>> mymodule.print_text('abc')
abc
>>> obj = mymodule.MyClass('test')
>>> obj.print()
test
Что в порядке.Я прочитал, что вместо sudo pip3 install .
я могу использовать sudo install -e .
, который будет обновлять mymodule в репозитории python при каждом изменении mymodule.py (еще не пробовал, но я бы предпочел обновить mymodule с версии на версию вручную).
Для разработки компьютера пока все хорошо.Но если я хочу установить мой модуль на какой-нибудь другой компьютер, что мне делать?Я считаю, что я должен собрать tar.gz из каталога my_module со всеми необходимыми файлами, перенести этот файл tar.gz на другой компьютер и выполнить там ... что?
mymodule должен оставаться закрытым, я неЯ не хочу показывать это публично (я все еще в процессе обучения).
Я заметил, что в pycharm есть пункт меню Инструменты> Выполнить задачу setup.py, который обеспечивает (не все параметры видны) что-то вроде этого:
Может кто-нибудь подсказать мне, как:
обновить модуль на компьютере разработчика?Должен ли я просто увеличить версию в setup.py и после этого выполнить sudo pip3 install .
, если я хотел бы вручную контролировать, когда новая версия выпускается локально?
Есть ли лучший способ (меньше шагов) как-то сделать это напрямую из pycharm?
Каков был бы самый простой способ (я хотел бы использовать скрипт для копирования и установки модуля на некоторых других компьютерах) для установки / обновления модуля на других компьютерах (в частном порядке)?