小编Vla*_*lad的帖子

Setup.py 重新安装已经安装的用户编写的包

我正在开发两个 python 包,pkg_apkg_b. pkg_a是 的要求pkg_b,所以setup.pyforpkg_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)

python git pip setuptools setup.py

5
推荐指数
1
解决办法
83
查看次数

如何在 UPDATE 语句中使用 regexp_matches()?

我正在尝试清理一个表,该表有一个非常混乱的 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()是所说的设置返回功能。关于如何实现这一目标的任何想法?

regex sql postgresql sql-update postgresql-10

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

标签 统计

git ×1

pip ×1

postgresql ×1

postgresql-10 ×1

python ×1

regex ×1

setup.py ×1

setuptools ×1

sql ×1

sql-update ×1