小编cor*_*ror的帖子

如何安装具有最小和最大版本范围的软件包?

我想知道是否有任何方法可以告诉pip,特别是在一个需求文件中,安装一个包含最小版本(pip install package>=0.2)和最小版本的软件包(应该永远不会安装)(理论上的api :) pip install package<0.3.

我问,因为我正在使用正在积极开发的第三方库.我希望我的pip需求文件指定它应该始终安装0.5.x分支的最新次要版本,但我不希望pip尝试安装任何较新的主要版本(如0.6.x) API不同.这很重要,因为即使0.6.x分支可用,开发人员仍然会向0.5.x分支发布补丁和错误修正,因此我不想package==0.5.9在我的需求文件中使用静态行.

有没有办法做到这一点?

python pip multiple-versions

199
推荐指数
4
解决办法
6万
查看次数

SQLAlchemy:按至少一个多对多相关表中的成员身份进行过滤

使用SQLAlchemy 0.7.1和M​​ySQL 5.1数据库,我建立了多对多关系,如下所示:

user_groups = Table('user_groups', Base.metadata,
    Column('user_id', String(128), ForeignKey('users.username')),
    Column('group_id', Integer, ForeignKey('groups.id'))
)

class ZKUser(Base, ZKTableAudit):
    __tablename__ = 'users'

    username   = Column(String(128), primary_key=True)
    first_name = Column(String(512))
    last_name  = Column(String(512))

    groups = relationship(ZKGroup, secondary=user_groups, backref='users')

class ZKGroup(Base, ZKTableAudit):
    __tablename__ = 'groups'

    id          = Column(Integer, primary_key=True)
    name        = Column(String(512))
Run Code Online (Sandbox Code Playgroud)

用户可以属于多个组,而组可以包含多个用户.

我正在尝试做的是构建一个SQLAlchemy查询,该查询仅返回属于组列表中至少一个组的用户.

我玩这个in_函数,但这似乎只适用于测试列表中成员资格的标量值.我不是一个SQL编写者,所以我甚至不知道SELECT这需要什么样的声明.

python mysql many-to-many sqlalchemy

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

如何使Python 2.x Unicode字符串不打印为u'string'?

我目前正在测试一个以字典形式返回大量JSON数据的Web服务.这些字典的键和值都是unicode字符串,因此它们打印出来

{u'key1':u'value', u'key2':u'value2'}
Run Code Online (Sandbox Code Playgroud)

在交互式解释器中打印到屏幕时.

现在想象一下,这是一个3级深度,40元素的字典.所有这些u字符都会使显示屏混乱,因此很难一目了然地看出实际数据究竟是什么.即使使用pprint.

有没有办法告诉解释器我不关心普通字符串和unicode字符串之间的区别?我不需要或想要.

我发现的唯一可能有帮助的是PYTHONIOENCODING环境变量.不幸的是,将它设置为'ascii'或'latin-1'并不会让自己消失.

我正在使用Python 2.6,我使用常规python解释器或iPython.

python unicode

15
推荐指数
1
解决办法
7471
查看次数

SQLAlchemy声明+跨多个不同数据库的关系

我花了一段时间,但我想出了如何使用SQLAlchemy来模拟两种不同类型的数据库之间的关系:

Base = declarative_base()

class Survey(Base):
    __tablename__ = 'SURVEY'

    survey_id = Column("SURVEY_ID", Integer, primary_key=True)
    term_id = Column("TERM_ID", Integer, nullable=False)

    # Because the TERM table is in Oracle, but the SURVEY table is in
    # MySQL, I can't rely on SQLAlchemy's ForeignKey.  Thus,
    # I need to specify the relationship entirely by hand, like so:
    term = relationship("Term",
        primaryjoin="Term.term_id==Survey.term_id",
        foreign_keys=[term_id],
        backref="surveys"
    )

class Term(Base):
    __tablename__ = 'TERM'

    term_id   = Column(Integer, primary_key=True)
    term_name = Column(String(30))
    start_date = Column(Date)
    end_date = Column(Date)

mysql_engine …
Run Code Online (Sandbox Code Playgroud)

database sqlalchemy declarative relationship

13
推荐指数
2
解决办法
3235
查看次数

PHP:如何使用Twitter API的数据将推文中的URL,提及和hastags转换为链接?

我真的很难理解Twitter如何期望其API用户将其发送的明文推文转换为正确链接的HTML.

这是交易:当您请求推文的详细数据时,Twitter的JSON API会发回这组信息:

{
    "created_at":"Wed Jul 18 01:03:31 +0000 2012",
    "id":225395341250412544,
    "id_str":"225395341250412544",
    "text":"This is a test tweet. #boring @nbc http://t.co/LUfDreY6 #skronk @crux http://t.co/VpuMlaDs @twitter",
    "source":"web",
    "truncated":false,
    "in_reply_to_status_id":null,
    "in_reply_to_status_id_str":null,
    "in_reply_to_user_id":null,
    "in_reply_to_user_id_str":null,
    "in_reply_to_screen_name":null,
    "user": <REDACTED>,
    "geo":null,
    "coordinates":null,
    "place":null,
    "contributors":null,
    "retweet_count":0,
    "entities":{
        "hashtags":[
            {
                "text":"boring",
                "indices":[22,29]
            },
            {
                "text":"skronk",
                "indices":[56,63]
            }
        ],
        "urls":[
            {
                "url":"http://t.co/LUfDreY6",
                "expanded_url":"http://www.twitter.com",
                "display_url":"twitter.com",
                "indices":[35,55]
            },
            {
                "url":"http://t.co/VpuMlaDs",
                "expanded_url":"http://www.example.com",
                "display_url":"example.com",
                "indices":[70,90]
            }
        ],
        "user_mentions":[
            {
                "screen_name":"nbc",
                "name":"NBC",
                "id":26585095,
                "id_str":"26585095",
                "indices":[30,34]
            },
            {
                "screen_name":"crux",
                "name":"Z. D. Smith",
                "id":407213,
                "id_str":"407213",
                "indices":[64,69]
            }, …
Run Code Online (Sandbox Code Playgroud)

php api twitter

13
推荐指数
4
解决办法
8876
查看次数

如何从python dict中检索密钥只是部分已知?

我有一个dict字符串型键,其确切的值我不知道(因为它们是在其他地方动态生成的).但是,我知道我想要的密钥包含一个特定的子字符串,并且具有此子字符串的单个密钥肯定在dict中.

检索此密钥的值的最佳或"最pythonic"方法是什么?

我想到了两个策略,但两个都让我感到烦恼:

for k,v in some_dict.items():
    if 'substring' in k:
        value = v
        break
Run Code Online (Sandbox Code Playgroud)

- 要么 -

value = [v for (k,v) in some_dict.items() if 'substring' in k][0]
Run Code Online (Sandbox Code Playgroud)

第一种方法是笨重而且有点难看,而第二种方法更干净,但是索引到列表理解中的额外步骤[0]让我感到烦恼.是否有更好的方式来表达第二个版本,或者更简洁的方式来编写第一个版本?

python dictionary substring key

12
推荐指数
1
解决办法
5785
查看次数

Git:虚假合并冲突?

我已经使用git几年了,并且每次偶尔进行一次合并时,git会报告一些奇怪的冲突.这是一个.htaccess文件的例子,从我合并到Drupal核心的新7.24版本开始:

# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig\.save)$">
<<<<<<< HEAD
  Order allow,deny
</FilesMatch>

# Hide important scripts from malicious users.
<FilesMatch "^(autoinstall\.php|install\.php|update\.php)$">
=======
>>>>>>> 7.24
  Order allow,deny
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

这里怎么会有冲突?它甚至不是空白/结束差异的潜在案例:冲突的7.24部分根本没有任何内容.

为什么git抱怨这个?我可能误解了一些基本的东西......

git git-merge

7
推荐指数
1
解决办法
1114
查看次数

你如何在 Mac 上的 Eclipse 中将 Home/End 绑定为像 Cmd-Left/Cmd-Right 一样?

这是我关于 SO 的第一个问题,所以请保持温和:)

我最近开始了一项新工作,我在 OSX 10.6 上的 Eclipse 3.4.0 上的 PyDev 中进行所有开发。因此,我一直在寻找一种方法,让 Home 和 End 像在 Windows 上一样运行(我的原生操作系统,以及我开发肌肉记忆的地方)。我基本上成功了,但我遇到了一个障碍:对话。我想出了如何将 Home 重新绑定到“Line Start”并将 End 重新绑定到“Line End”(加上它们的移位等效项),但它似乎只在编辑器上下文中工作。当弹出一个对话框时,比如重命名文件,Home 和 End 根本不起作用。我什至将键绑定设置为在“在对话框和 Windows 中”时处于活动状态,但这实际上对对话框没有任何影响。

难道我做错了什么?或者这是 Eclipse 中的错误,还是 PyDev?

python eclipse macos keyboard-shortcuts

6
推荐指数
2
解决办法
2128
查看次数

如何通过 YouTube API 检索我自己的私人播放列表?

我正在尝试找到一种方法从 YouTube 检索我自己的私人播放列表,以便在我自己的个人网站上显示。到目前为止,所有文档似乎都表明检索私有用户数据(如私有播放列表)需要您网站的用户通过身份验证过程才能提供自己的身份验证。

就我而言,我不希望我的用户进行身份验证,我希望我的网站每次访问 Youtube 数据 API 时都对我自己的帐户进行身份验证,以便检索我自己的私人播放列表。

那可能吗?我认为如果我可以为自己的帐户保存身份验证令牌,那么这可能是可行的,但显然令牌发生了变化?我应该通过什么方式为自己的帐户获取初始授权令牌?

youtube-api

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

是否有可能在bash的PS1中预先评估一个值?

我正在尝试构建一个Bash提示符,它将包含我的git分支信息(使用git的bash-completion中的__git_ps1)和一个彩色的笑脸来指示最近运行的命令是否成功.

笑脸是用这种技术创造的,我在SO上找到了这个:

SMILEY="${GREEN}:)${COLOR_NONE}"
FROWNY="${RED}:(${COLOR_NONE}"
STATUS_EMOTICON="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi"
Run Code Online (Sandbox Code Playgroud)

这是我想要使用的提示行:

export PS1="[\t]${RED}[\u@$MACHINE:${BOLD_CYAN}\w${GREEN}\$(__git_ps1 ' %s')${RED}]${COLOR_NONE} \`${STATUS_EMOTICON}\`\n$ "
Run Code Online (Sandbox Code Playgroud)

不幸的是,看起来__git_ps1运行的程序覆盖了这个$?值,我最终得到的每个表情都是绿色的笑脸,即使在跑步之后也是如此false.

取出__git_ps1电话......

export PS1="[\t]${RED}[\u@$MACHINE:${BOLD_CYAN}\w${RED}]${COLOR_NONE} \`${STATUS_EMOTICON}\`\n$ "
Run Code Online (Sandbox Code Playgroud)

...使表情符号正常工作.

所以我显然需要做的是${STATUS_EMOTICON} 运行之前进行评估__git_ps1,但是 __git_ps1输出包含评估值.那可能吗?

git bash

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

如何在渲染时将 js/css 附加到 StreamField 块?

我知道您可以使用 django forms Media API 和方法在表单js_initializer()中包含 javascript ,并且我已经成功完成了。但是,当显示我编写的这个自定义块的实例时,我需要在页面中包含 javascript 和 CSS 文件。

有具体的机制吗?或者我只需要在页面模板中包含 js/css 文件?我真的很想避免将它们包含在每个具有可能具有此块的 StreamField 的页面上,因为绝大多数不会,这意味着浪费大量页面加载时间。

wagtail

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