小编mdh*_*mdh的帖子

如何在setup.py中包含用于pip安装的git依赖项

我需要包含通过公共Github存储库提供的Python包以及我的Python(2.7)包.我的包应该可以通过pip使用安装setup.py.

到目前为止,这可以dependency_linkssetup.py文件中使用:

setuptools.setup(
   name="my_package",
   version="1.0",
   install_requires=[
       "other_package==1.2"
   ],
   dependency_links=[
      "https://github.com/user/other_package/tarball/master#egg=other_package-1.2"
   ]    
)
Run Code Online (Sandbox Code Playgroud)

当使用--process-dependency-links标志安装软件包时,这仍然有效,但是dependency_links功能似乎已被弃用,因为:

pip install git+https://github.com/user/my_package@master#egg=my_package-1.0 --process-dependency-links
Run Code Online (Sandbox Code Playgroud)

给我以下警告:

DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Run Code Online (Sandbox Code Playgroud)

是否有另一种方法可以gitsetup.py文件中包含依赖项并支持pip安装?

编辑(2016年10月17日)澄清我的用例:

假设我发现了一个错误other_package.我在Github上分叉各自的repo,修复bug并发出pull请求.我的拉取请求不会立即被接受(或者永远不会因为不再主动维护包裹).我想my_package与我的分叉一起分发,other_package并希望用户能够在my_package没有任何关于此要求的详细信息的情况下进行安装,并且无需在安装时提供任何其他标志.用户my_package还应该能够my_package在自己的自定义包中包含作为要求.

如何实现与不同安装模式(车轮,鸡蛋,开发......)的兼容?

python git pip setup.py

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

SqlAlchemy:如何实现DROP TABLE ... CASCADE?

我需要删除具有外键约束和要求的PostgreSQL数据库中的表DROP TABLE ... CASCADE.

我可以执行原始SQL : engine.execute("DROP TABLE %s CASCADE;" % table.name). 但是,我想实现这种行为,以便我可以table.drop(engine)postgresql方言做.

怎么会接近这个?

python postgresql sqlalchemy

10
推荐指数
1
解决办法
4340
查看次数

Dockerized PostgreSQL:psql:严重:数据库系统正在启动

我正在尝试使用构建并运行两个托管PostgreSQL和Citus扩展的Docker容器ansible-container。我知道Citus提供了容器,但是我想构建自己的容器。

我的container.yaml样子如下:

version: '2'

services:

  database_master:
    image: hackermd/ubuntu-trusty-python
    user: postgres
    expose:
      - 5043
    entrypoint: ['dumb-init', '--']
    command: ['/usr/bin/pg_ctlcluster', '9.6', 'master', 'start']
    links:
      - database_worker
    depends_on:
      - database_worker

  database_worker:
    image: hackermd/ubuntu-trusty-python
    user: postgres
    expose:
    - 9700
  entrypoint: ['dumb-init', '--']
  command: ['/usr/bin/pg_ctlcluster', '9.6', 'worker', 'start']
Run Code Online (Sandbox Code Playgroud)

在构建过程中,我可以通过启动和停止集群,pg_ctlcluster并成功完成。但是,当我随后运行容器时,出现以下错误:

$ docker logs ansible_database_master_1
Removed stale pid file.
Warning: connection to the database failed, disabling startup checks:
psql: FATAL:  the database system is starting up
Run Code Online (Sandbox Code Playgroud)

使用容器构建容器command: []ps …

postgresql ansible docker docker-compose ansible-container

4
推荐指数
1
解决办法
7642
查看次数

使用postgresql进行sqlalchemy和auto增量

我创建了一个包含主键和序列的表,但是稍后通过调试广告查看表设计时,序列不会被应用,只是创建了.

from sqlalchemy import create_engine, MetaData, Table, Column,Integer,String,Boolean,Sequence
from sqlalchemy.orm import mapper, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import json
class Bookmarks(object):
    pass

#----------------------------------------------------------------------
engine = create_engine('postgresql://iser:p@host/sconf', echo=True)
Base = declarative_base()

class Tramo(Base):
    __tablename__ = 'tramos'
    __mapper_args__ = {'column_prefix':'tramos'}

    id = Column(Integer, Sequence('seq_tramos_id', start=1, increment=1),primary_key=True)
    nombre = Column(String)
    tramo_data = Column(String)
    estado = Column(Boolean,default=True)

    def __init__(self,nombre,tramo_data):
        self.nombre=nombre
        self.tramo_data=tramo_data

    def __repr__(self):
        return '[id:%d][nombre:%s][tramo:%s]' % self.id, self.nombre,self.tramo_data

Session = sessionmaker(bind=engine)
session = Session()

tabla = Tramo.__table__
metadata = Base.metadata
metadata.create_all(engine)
Run Code Online (Sandbox Code Playgroud)

表就是这样创建的

CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy

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