小编Not*_*ner的帖子

Virtualenv,no-site-packages,sys.path

我的基本问题是我无法--no-site-packages"工作".

我已经阅读了SO上的一些帖子,包括这篇文章.我是一个巨大的Ubuntu noob,并且在python如何与os交互时并没有更好.

其他帖子建议printenv显示PYTHONPATH当我在我的virtualenv时,printenv似乎没有列出"PYTHONPATH",但很有可能我应该寻找的是一个dir我不知道的特殊而不是大写字母.

然而,我注意到,当我在virtualenv中运行python shell时,列出了我的所有全局包.

我不知道这是一个问题virtualenv,.bashrc,Ubuntumy brain.任何帮助将不胜感激.

如果那里有某种知识渊博的灵魂愿意在一个来回的过程中帮助我,我会非常感激.我没有列出我的任何输出,因为,老实说,除了上述之外,我不完全确定从哪里开始.

编辑以回应评论; UTC时间:2015年11月19日07:41

启动环境:

notanambiturner@computer:~/Dropbox/$$ P/...$ virtualenv --no-site-packages venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done.
Run Code Online (Sandbox Code Playgroud)

进入环境:

notanambiturner@computer:~/Dropbox/$$ P/...$ source venv/bin/activate
(venv)notanambiturner@computer:~/Dropbox/$$ P/...$
Run Code Online (Sandbox Code Playgroud)

系统包:

(venv)notanambiturner@computer:~/Dropbox/$$ P/...$ pip freeze
adium-theme-ubuntu==0.3.4
apt-xapian-index==0.46
beautifulsoup4==4.4.1
bleach==1.4.2
blinker==1.3
cffi==1.1.2
characteristic==14.3.0
chardet==2.3.0
colorama==0.3.3
command-not-found==0.3
....
virtualenv==13.1.2
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.1
wheel==0.26.0
whitenoise==1.0.6
xdiagnose==3.8.1
zope.interface==4.1.2
(venv)notanambiturner@computer:~/Dropbox/$$ P/...$ 
Run Code Online (Sandbox Code Playgroud)

sys.path:

(venv)notanambiturner@computer:~/Dropbox/$$ P/...$ …
Run Code Online (Sandbox Code Playgroud)

python ubuntu virtualenv sys pythonpath

9
推荐指数
1
解决办法
971
查看次数

Python 3 字典迭代中的性能:dict[key] 与 dict.items()

其中哪个更快,为什么?或者他们是一样的?答案是否因任何条件(字典大小、数据类型等)而异?

传统的:

for key in dict:
    x = dict[key]
    x = key
Run Code Online (Sandbox Code Playgroud)

潮人:

for key, value in dict.items():
    y = value
    y = key
Run Code Online (Sandbox Code Playgroud)

我还没有看到完全相同的副本,但如果有的话,我很乐意被指出。

python iteration performance dictionary

7
推荐指数
2
解决办法
5270
查看次数

使用union将字典添加到`set()`

我刚碰到了一些有趣的东西,我以为我会问.

将字典添加到a中set,我假设字典将被添加为完整字典,但事实并非如此.只添加了键:

dicty = {"Key1": "Val1", "Key2": "Val2"}
setunion = set()
setunion.union(dicty)
=> set(['Key2', 'Key1'])
Run Code Online (Sandbox Code Playgroud)

当您尝试使用它添加它时,set.add()您会收到错误:

setadd = set()
setadd.add(dicty)
Traceback (most recent call last):
  File "python", line 1, in <module>
TypeError: unhashable type: 'dict'
Run Code Online (Sandbox Code Playgroud)

显然,这种行为与列表非常不同:

   listy = []
   listy.append(dicty)
   listy
=> [{'Key2': 'Val2', 'Key1': 'Val1'}]
Run Code Online (Sandbox Code Playgroud)

在文档中,它表示集合是可散列对象的无序集合,这是对上述某些问题的暗示.

问题

这里发生了什么?设置项目必须是可清洗的,所以很清楚,这与为什么我只是将键添加到设置中.union(),但为什么错误与.add()

列表中集合的行为差异背后是否有一些可用性原因?

Python(或库)中是否存在基本上像列表一样的数据类型,但只保留唯一项?

python dictionary set hashable

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

事件侦听器在没有事件的情况下执行并循环遍历 HTML 集合

我正在尝试编写一个循环来初始化 JavaScript 中的事件处理程序。

我想我做错了什么,因为我的调试功能在没有事件(点击)发生的情况下被激活。

我想做的是这样的:

var JS_elements = document.getElementsByClassName("JS")

for (y = 0; y < JS_elements.length; y++){
    document.write(JS_elements.item(y).innerHTML);
    JS_elements.item(y).addEventListener("click",testfunc());
}

function testfunc() {
    alert("TestFunc");
}
Run Code Online (Sandbox Code Playgroud)

当我点击一个 class="JS" 的元素时,让 testfunc() 运行。

线document.write(JS_elements.item(y).innerHTML);线正确地执行,所以我知道我得到正确的对象。可悲的是,注释行导致此中断: testfunc() 在页面加载时自动运行 3 次。

谁能解释为什么会这样?我唯一能想到的是“点击”由于true某种原因被评估。

HTML:

<header>
    <hr>
        <p>- Header Background Color Controller -</p>
        <table>
            <tr>
                <td>Javascript Controller:</td>
                <td class="JS">Red
                    <input type="hidden" value='false'>
                </td>
                <td class="JS">Green
                    <input type="hidden" value='false'>
                </td>
                <td class="JS">Blue
                    <input type="hidden" value='false'>
                </td>
            </tr>
            <tr>
                <td>jQuery Controller:</td>
                <td class="jQ" value=false>Red</td>
                <td class="jQ" …
Run Code Online (Sandbox Code Playgroud)

html javascript for-loop addeventlistener

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

+ = vs. = + timedelta

问题:这有什么用?

from datetime import timedelta, date
ONE_DAY = timedelta(days=1)
date = date(2015,12,12)
>>> date -= ONE_DAY
>>> date
date(2015,12,11)
>>> date += ONE_DAY
>>> date
date(2015,12,12)
>>> date **=+** ONE_DAY
>>> date
datetime.timedelta(1)
Run Code Online (Sandbox Code Playgroud)

通常情况下,我会在尝试使用时出现错误=+,但我似乎正在分配timedelta对象.也:

>>> TWO_DAYS = timedelta(days=2)
>>> TWO_DAYS
datetime.timedelta(2)
Run Code Online (Sandbox Code Playgroud)

...

>>> date = date(2015,12,12)
Traceback (most recent call last):
  File "(stdin)", line 1, in <module>
TypeError: 'datetime.timedelta' object is not callable
>>> date = False
>>> date
False
>>> date = date(2015,12,12)
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python datetime

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

math.floor(N)vs N // 1

我想知道是否有人可以给我任何关于Python3中以下内容可能相同/不同的见解

N // 1
Run Code Online (Sandbox Code Playgroud)

from math import floor
floor(N)
Run Code Online (Sandbox Code Playgroud)

我尝试了以下操作,似乎表明它们是等效的:

import math
import random

for _ in range(0, 99999):
    f = random.random()
    n = random.randint(-9999, 9999)
    N = f * n
    n_div = N // 1; n_mth = math.floor(N)
    if n_div != n_mth:
        print("N // 1: {} | math.floor(N): {}".format(n_div, n_mth))
else: # yes, I realize this will always run
    print("Seem the same to me")
Run Code Online (Sandbox Code Playgroud)

感谢您在下面的评论。将测试更新为以下内容,该内容清楚地显示在python3float // N返回float,而math.floor(N) …

python math floor

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

是否有内置的Python异常来验证函数输入?

我有一个函数,它期望元组作为参数之一

def func(x,
         t # t should be a tuple of a predefined type (str, bool, str)
         ):
    ...
Run Code Online (Sandbox Code Playgroud)

是否有内置错误,适合说t不是正确的类型,或者我应该定义自己的错误?

python exception raise

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

以下变量名称包含非法字符...但我不知道它可能是什么

我在运行我的脚本时遇到问题。我终生无法弄清楚非法字符是什么。

我试过将字符串连接放在不同的行上,但我得到了同样的错误。我试过用OneDateandTwoDate代替Date_1and Date_2,也无济于事。我已经更新了 AHK,但没有解决。

我应该注意,我同时使用MonthCalDateTime Gui控制来获取这些日期,然后使用FormatTime. 我注意到的另一个错误可能提供了一个线索,即无论我在日期控件中选择什么日期,我都会得到2017-Sep-01输出。可能没有来自控件的值,并且 FormatTime 函数使用今天的日期,因为它尝试处理的变量为空/不存在。

除此之外,通常我喜欢在我的问题中更具描述性,但在这种情况下,我想我只能说:“帮助?”

在此处输入图片说明 在此处输入图片说明

variables autohotkey illegal-characters

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