dsz*_*opa 7 python windows pip setuptools
我一直在研究一个 python 命令行应用程序,我希望它可以从 Windows 上的命令提示符以及 OSX 和 linux 上的终端运行。我的目标是制作一个 pip 模块,允许我的应用程序在安装后可以在命令行上使用。
使用设置工具,我能够使用以下命令让脚本在 linux 和 OSX 上运行:
youtube-song-downloader <search query>
运行后:
python setup.py install
Run Code Online (Sandbox Code Playgroud)
通过pip安装后也可以直接工作
但是当我尝试在 Windows 上使用相同的 setup.py 时,它无法识别该命令(可能是它没有添加到路径中)
我将如何通过 pip install 或 setup.py install 使我的脚本在 Windows 命令行上可用?
我的 setup.py:
#!/usr/bin/env python
from setuptools import setup
setup(name='youtube-song-downloader',
version='0.1',
description='A program used to search and download songs from Youtube.',
url='https://github.com/dszopa/youtube-song-downloader',
author='Daniel Szopa',
author_email='dszopa@iastate.edu',
license='MIT',
install_requires=[
'youtube_dl',
'google-api-python-client',
'pytest',
],
packages=['ytsdl'],
scripts=['bin/youtube-song-downloader'],
include_package_data=True,
zip_safe=False)
Run Code Online (Sandbox Code Playgroud)
我的程序结构如下:
+ bin
- youtube-song-downloader
+ tests
+ ytsdl
- songDownloader.py
- settings.json
- .gitignore
- MANIFEST.in
- requirements.txt
- setup.py
Run Code Online (Sandbox Code Playgroud)
如果您对我的代码有任何进一步的问题,我的 github repo 在这里
我将此添加到我的 setup.py
entrypoints={
'console_scripts': [
'youtube-song-downloader = ytsdl:main',
]
},
Run Code Online (Sandbox Code Playgroud)
我还创建了一个__main__.py
:
#!/usr/bin/env python
import sys
import os
import ytsdl
if __name__ == "__main__":
main()
def main():
#script from bin/youtube-song-downloader
Run Code Online (Sandbox Code Playgroud)
并添加__main__
到我__init__
的
from .ytsdl import __main__
我非常不确定我是否朝着正确的方向前进,程序已编译但没有使用相同的命令
小智 -1
#!/usr/bin/env python
所有脚本文件中都有一个名称中包含“python”( ) 的 shebang,该文件稍后应由用户直接执行,甚至以后目标平台上的路径会有所不同 ( https://docs.python.org )。 org/3/distutils/setupscript.html#installing-scripts)scripts
参数中(尽管我不会省略扩展名)。setup
setup.py
.py
一旦安装到目标平台上,pip install
目标 shebang 将被替换为合适的 shebang,并且脚本将被放置在找到它们的路径中。
如果用户正确设置了 Python,她应该能够使用它们而无需预先添加python
.
例如,对于 Windows,Python 启动器( py.exe
) 应与.py
在 Python 安装期间可选提供的文件关联。要省略.py
扩展名,.py
可以在PATHEXT
环境变量中。
归档时间: |
|
查看次数: |
3179 次 |
最近记录: |