如何从任何目录 运行 一个 Python 模块
How to run a Python module from any directory
我想创建一个名为 myscript
的模块,可以从任何目录通过命令行 运行。
我创建了一个 setup.py
文件,如下所示:
import setuptools
setuptools.setup(
name='myscript',
version='1.0',
packages=['lib.myscript'],
install_requires=['setuptools', 'pandas >= 0.22.0', 'numpy >= 1.16.0'],
python_requires='>=3.5'
)
在 运行 宁 python setup.py install
之后,除了脚本所在的目录之外,我仍然无法从任何地方 运行 python -m myscript
。
我的文件夹结构如下所示:
lib
myscript
__init__.py (empty)
__main__.py (the code that should run)
setup.py
为此,您必须在 setup.py
中设置 entry_points
函数(如果我理解正确的话)。
您的 setup.py
变为:
import setuptools
setuptools.setup(
name='myscript',
version='1.0',
packages=setuptools.find_packages(),
install_requires=['setuptools', 'pandas >= 0.22.0', 'numpy >= 1.16.0'],
python_requires='>=3.5'
entry_points={
'console_scripts': [
'myscript=myscript.__main__:main' # or any specific function you would like
]
},
)
这里 __main__
是一个文件名(在你的例子中)。 main
是一个函数(您可以将其更改为您想要的任何函数)。 myscript
是你的命令。
现在您可以 运行(在您的情况下可能 myscript
):
python -m pip install yourpackage
然后您可以从任何地方运行您的脚本:
myscript
编辑:
像这样安排文件结构:
myscript
myscript
__init__.py (empty)
__main__.py (the code that should run)
setup.py
我想创建一个名为 myscript
的模块,可以从任何目录通过命令行 运行。
我创建了一个 setup.py
文件,如下所示:
import setuptools
setuptools.setup(
name='myscript',
version='1.0',
packages=['lib.myscript'],
install_requires=['setuptools', 'pandas >= 0.22.0', 'numpy >= 1.16.0'],
python_requires='>=3.5'
)
在 运行 宁 python setup.py install
之后,除了脚本所在的目录之外,我仍然无法从任何地方 运行 python -m myscript
。
我的文件夹结构如下所示:
lib
myscript
__init__.py (empty)
__main__.py (the code that should run)
setup.py
为此,您必须在 setup.py
中设置 entry_points
函数(如果我理解正确的话)。
您的 setup.py
变为:
import setuptools
setuptools.setup(
name='myscript',
version='1.0',
packages=setuptools.find_packages(),
install_requires=['setuptools', 'pandas >= 0.22.0', 'numpy >= 1.16.0'],
python_requires='>=3.5'
entry_points={
'console_scripts': [
'myscript=myscript.__main__:main' # or any specific function you would like
]
},
)
这里 __main__
是一个文件名(在你的例子中)。 main
是一个函数(您可以将其更改为您想要的任何函数)。 myscript
是你的命令。
现在您可以 运行(在您的情况下可能 myscript
):
python -m pip install yourpackage
然后您可以从任何地方运行您的脚本:
myscript
编辑:
像这样安排文件结构:
myscript
myscript
__init__.py (empty)
__main__.py (the code that should run)
setup.py