我的请求看起来很不正统,但我想快速打包一个旧的存储库,主要由 python 可执行脚本组成。
问题在于这些脚本没有被设计为模块,因此其中一些脚本直接在模块顶层执行代码,而另一些脚本则具有该部分if __name__=='__main__'。
您将如何使用 setuptools 分发这些脚本而不需要太多重写?
scripts的选项下setup(),但不建议这样做,而且它也不允许我重命名它们。main()在所有这些脚本中定义函数,也是因为有些脚本调用奇怪的递归函数,对全局变量有副作用,所以我有点害怕破坏东西。"myscript=mypkg.myscript"而不是"myscript=mypkg.myscript:main")时,它在安装后逻辑上抱怨模块不可调用。有没有办法从模块创建脚本?至少当他们有一个if __name__=='__main__'?
我需要将一个包写入存储库,但它是一个小型快速包,因此我认为不需要将文件放入子目录中。我只是想要:
import mypkg.module1
Run Code Online (Sandbox Code Playgroud)
具有目录结构
root_folder/
- setup.py
- __init__.py # the init for package "mypkg" (empty)
- module1.py
Run Code Online (Sandbox Code Playgroud)
我不想被限制增加文件夹层次结构,如下所示:
root_folder/
- setup.py
- __init__.py # the init for package "mypkg" (empty)
- module1.py
Run Code Online (Sandbox Code Playgroud)
root_folder/
- setup.py
- mypkg/ # WHY would I do that for 1 module??
- __init__.py
- module1.py
Run Code Online (Sandbox Code Playgroud)
但结果是,import mypkg失败了,并且import module1工作了,而不是期望的import mypkg.module1。
我发现了这个问题,但“只需将 setup.py 向上移动一个文件夹”的答案不适合我。
在此处找到设置参数文档后,我尝试定义一个命名空间包:
# Content of setup.py
from setuptools import setup
setup(name='MyPkg',
packages=['mypkg'] …Run Code Online (Sandbox Code Playgroud) 我还没有在 github 或 jupyter 帮助中找到答案。
TL;DR:我需要一个命令行来告诉我与魔法相同的事情%connect_info,特别是 line Connect with --existing kernel-4e4c970e-cccb-2485-a09d-d56efd10e278.json。
我当前的设置是从工作服务器启动 jupyter 笔记本。然后我使用 SSH 连接到该服务器,并且可以通过附加控制台在同一内核中工作:
jupyter console --existing kernel-4e4c970e-cccb-2485-a09d-d56efd10e278.json
Run Code Online (Sandbox Code Playgroud)
(在tmux++设置中,顺便说一句,我经常发现这更方便)vim。slimux
问题是:
那么是否有一个命令可以从服务器上的 shell 运行,该命令会列出正在运行的内核、 哪个笔记本启动了它们,以及理想情况下是否附加了控制台?
我有以下 (gnu)sed脚本,用于解析另一个 sed 脚本,并在单独的行上输出不同的命令。
换句话说,这个脚本应该在每个分号后放置一个换行符;,匹配或替换命令中的分号除外。
Sed 脚本:
#!/bin/sed -rf
# IDEA:
# replace ';' by ';\n' except when it's inside a match expression or subst. expression.
# Ignored patterns:
/^#/b # commented lines
/^$/b # empty lines
# anything in a single line, without semicolon except at the end
/^[^\n;]*;?$/b
# Processed patterns (put on separate lines):
# Any match preceding a semicolon, or the end of the line, or a substitution
s_/^[^/]+/[^;s]*;?_&\n_; t printtopline …Run Code Online (Sandbox Code Playgroud) 我决定使用github pages建立一个小博客。我已经有一个 github 帐户,有一些用户名,但我不希望我的博客是myusername.github.io,我宁愿myblogname.github.io......
原因是我想要一些最小的自定义,但不需要为自定义域付费。
是否可以(无需更改我的用户名)?