在pycharm(2018.3.5社区版)中,我创建了一个新项目my_module。在my_module目录中,我创建了一个新的(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
可以。
我想通过简单的import mymodule
(在任何位置)在多台计算机上私下使用此mymodule.py。
我发现可以使用pycharm的菜单“工具”>“创建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
执行此操作后,我可以从pycharm中的任何文件夹中启动python解释器并执行:
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.py的每次更改来更新python存储库中的mymodule(尚未尝试过,但是我宁愿将我的模块从一个版本更新到另一个版本手动)。
到目前为止,对于开发计算机而言,它是如此出色。 但是,如果要在其他计算机上安装mymodule,该怎么办?我相信我应该使用所有必要的文件从my_module目录构建tar.gz,将该tar.gz文件传输到其他计算机,然后在那里执行...什么?
mymodule应该保持私有状态,我不想公开公开(我仍在学习中)。
我注意到pycharm具有菜单选项Tools> Run setup.py Task,该菜单项提供(并非所有选项都可见)这样的东西:
有人可以给我提示如何做吗
开发计算机上的更新模块?我应该增加
版本在setup.py中,然后如果我执行sudo pip3 install .
想手动控制何时在本地发布新版本?
是否有更好的方法(较少的步骤)以某种方式直接从pycharm直接执行此操作?
(私下)在其他计算机上安装/更新mymodule的最简单方法是什么(我想使用脚本在其他计算机上复制并安装mymodule)?
答案 0 :(得分:0)
如果您不想在pypi上发布模块,那么私有发布的最简单版本是将代码放在github中,并在其他项目中将其声明为VCS依赖项。有关更多详细信息,请参见this。
或更简单的方法是签出一个git标记,对您的库进行版本控制,然后pip安装本地签出的代码。
通过pycharm与此无关。我建议您也习惯使用命令行python工具。