相关疑难解决方法(0)

使用Python setuptools安装后脚本

是否可以将安装后的Python脚本文件指定为setuptools setup.py文件的一部分,以便用户可以运行该命令:

python setup.py install
Run Code Online (Sandbox Code Playgroud)

在本地项目文件存档,或

pip install <name>
Run Code Online (Sandbox Code Playgroud)

对于PyPI项目,脚本将在标准setuptools安装完成后运行?我希望执行可以在单个Python脚本文件中编码的安装后任务(例如,向用户提供自定义安装后消息,从其他远程源存储库中提取其他数据文件).

几年前我遇到了这个回答这个主题的答案,听起来好像当时的共识是你需要创建一个install子命令.如果仍然如此,那么有人可以提供一个如何执行此操作的示例,以便用户无需输入第二个命令来运行脚本吗?

python software-distribution setuptools pypi setup.py

82
推荐指数
3
解决办法
2万
查看次数

如何从Pypi中删除包

如何从Pypi中删除包裹?

几个月前我上传了一个包给Pypi.包裹现在已经过时了,我想正式删除它.我找不到有关如何删除我的包的任何文档.

python pypi

41
推荐指数
3
解决办法
1万
查看次数

调用`pip install`时运行自定义任务

我想让我的python包"可以安装pip".问题是该软件包具有必须在用户的init shell脚本中提供的shell脚本(例如.bashrc).

但是在安装之后,用户并不完全知道脚本的去向(大概是/usr/bin,但我们无法保证).当然,用户可以运行which myscript.sh并手动编辑他的init脚本.

但我想自动完成这一步.我可以创建一个新的distutils命令,但pip install不会调用它.我可以扩展distutils.command.install.install,但安装通过pip中断(虽然通过工作python setup.py install):

setup.py

from distutils.command.install import install

class CustomInstall(install):
def run(self):
    install.run(self)
    # custom stuff here
    do_my_stuff()

setup(..., cmdclass={'install': CustomInstall})
Run Code Online (Sandbox Code Playgroud)

贝壳

$ pip install dist/mypackage.tar.gz
Unpacking ./dist/mypackage.tar.gz
  Running setup.py egg_info for package from file:///path/to/mypackage/dist/mypackage.tar.gz

Installing collected packages: mypackage
  Running setup.py install for mypackage
    usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: -c --help [cmd1 cmd2 ...]
       or: -c --help-commands
       or: -c …
Run Code Online (Sandbox Code Playgroud)

python distutils pip

13
推荐指数
1
解决办法
5922
查看次数