我正在开发两个 python 包,pkg_a
和pkg_b
. pkg_a
是 的要求pkg_b
,所以setup.py
forpkg_b
看起来像这样:
from setuptools import setup
inst_reqs = [
'pkg_a @ git+ssh://git@bitbucket.org/vlad/pkg_a.git',
]
setup(
name="pkg_b",
version="0.0.0",
packages=['pkg_b'],
install_requires=inst_reqs,
)
Run Code Online (Sandbox Code Playgroud)
由于我正在同时开发这两个软件包,pkg_a
因此已经以可编辑模式 ( pip install -e .
)安装。
pip安装时pkg_b
,为什么pkg_a
删除了现有的安装?看起来 pip 将系统地锥化指定的 repo,卸载现有的pkg_a
并从克隆的 repo 重新安装它:
Successfully built pkg_a
Installing collected packages: pkg_a, pkg_b
Attempting uninstall: pkg_a
Found existing installation: pkg_a 0.0.0
Uninstalling pkg_a-0.0.0:
Successfully uninstalled pkg_a-0.0.0
Running setup.py develop for pkg_b …
Run Code Online (Sandbox Code Playgroud) 我正在尝试清理一个表,该表有一个非常混乱的 varchar 列,其中包含以下条目:
<u><font color="#0000FF"><a href="http://virginialidar.com/index-3.html#.VgLbFPm6e73" target="_blank">VA Lidar</a></font></u> OR <u><font color="#0000FF"><a href="https://inport.nmfs.noaa.gov/inport/item/50122" target="_blank">InPort Metadata</a></font></u>
Run Code Online (Sandbox Code Playgroud)
我想通过仅保留 html 链接来更新列,如果有多个链接,则用昏迷将它们分开。理想情况下,我会做这样的事情:
UPDATE mytable
SET column = array_to_string(regexp_matches(column,'(?<=href=").+?(?=\")','g') , ',');
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这会在 Postgres 10 中返回一个错误:
ERROR: set-returning functions are not allowed in UPDATE
Run Code Online (Sandbox Code Playgroud)
我假设regexp_matches()
是所说的设置返回功能。关于如何实现这一目标的任何想法?