我的印象是virtualenv – no-site-packages会创build一个完全独立和孤立的Python环境,但似乎并不是这样。 例如,我在全局安装了python-django,但是希望用不同的Django版本创build一个virtualenv。 $ virtualenv –no-site-packages foo New python executable in foo/bin/python Installing setuptools…………done. $ pip -E foo install Django Requirement already satisfied: Django in /usr/share/pyshared Installing collected packages: Django Successfully installed Django 从我可以告诉,上面的pip -E foo install应该重新安装新版本的Django。 另外,如果我告诉pip冻结环境,我会得到很多包。 我期望对于一个新的环境 – 无站点包,这将是空白的? $ pip -E foo freeze 4Suite-XML==1.0.2 BeautifulSoup==3.1.0.1 Brlapi==0.5.3 BzrTools==1.17.0 Django==1.1 … and so […]
我有一个如下所示的脚本: export foo=/tmp/foo export bar=/tmp/bar 每次我build立我运行'源init_env'(其中init_env是上述脚本)设置一些variables。 为了在Python中完成相同的function,我运行了这段代码, reg = re.compile('export (?P<name>\w+)(\=(?P<value>.+))*') for line in open(file): m = reg.match(line) if m: name = m.group('name') value = '' if m.group('value'): value = m.group('value') os.putenv(name, value) 但是后来有人决定把下面这行添加到init_env文件中是很好的: export PATH="/foo/bar:/bar/foo:$PATH" 很显然,我的Python脚本崩溃了。 我可以修改Python脚本来处理这一行,但是当有人想出一个在init_env文件中使用的新特性的时候,这个脚本就会中断。 问题是如果有一个简单的方法来运行一个Bash命令,让它修改我的os.environ ?
我是pandas新手….我有一堆轮询数据; 我想计算一个滚动平均值来根据三天的窗口得到每一天的估计值。 正如我从这个问题所理解的,rolling_ *函数根据指定数量的值计算窗口,而不是特定的date时间范围。 是否有一个不同的函数来实现这个function? 还是我坚持写我自己的? 编辑: 示例input数据: polls_subset.tail(20) Out[185]: favorable unfavorable other enddate 2012-10-25 0.48 0.49 0.03 2012-10-25 0.51 0.48 0.02 2012-10-27 0.51 0.47 0.02 2012-10-26 0.56 0.40 0.04 2012-10-28 0.48 0.49 0.04 2012-10-28 0.46 0.46 0.09 2012-10-28 0.48 0.49 0.03 2012-10-28 0.49 0.48 0.03 2012-10-30 0.53 0.45 0.02 2012-11-01 0.49 0.49 0.03 2012-11-01 […]
Python是否有一个内置的,使用密码编码/解码string的简单方法? 像这样的东西: >>> encode('John Doe', password = 'mypass') 'sjkl28cn2sx0' >>> decode('sjkl28cn2sx0', password = 'mypass') 'John Doe' 所以string“John Doe”被encryption为“sjkl28cn2sx0”。 为了得到原始的string,我会用“mypass”这个密钥在我的源代码中“解锁”这个string。 我想这是我可以使用密码encryption/解密Word文档的方式。 我想使用这些encryption的string作为URL参数。 我的目标是混淆,不是强大的安全; 没有任何关键的编码。 我意识到我可以使用一个数据库表来存储键和值,但我试图是极简主义的。
给定一个string列表,我想按字母顺序sorting并删除重复项。 我知道我可以做到这一点: from sets import Set […] myHash = Set(myList) 但我不知道如何从哈希按字母顺序检索列表成员。 我没有结婚的散列,所以任何方式来完成这个工作。 此外,性能不是一个问题,所以我更喜欢一个解决scheme,用代码清晰地expression一个快速但不透明的解决scheme。
我有一个简单的脚本parsing一个文件,并将其内容加载到数据库。 我不需要UI,但现在我正在提示用户使用最不友好的raw_inputparsing文件,尤其是因为用户无法复制/粘贴path。 我想要一个快速简单的方法来向用户展示文件select对话框,他们可以select文件,然后将其加载到数据库。 (在我的使用情况下,如果他们碰巧select了错误的文件,那么parsing失败,即使它被加载到数据库也不会有问题。) import tkFileDialog file_path_string = tkFileDialog.askopenfilename() 这个代码接近我想要的,但它留下一个恼人的空框架(这是不能被closures,可能是因为我没有注册一个closures事件处理程序)。 我不必使用tkInter,但是因为它在Python标准库中,所以它是最快和最简单的解决scheme的好select。 在没有任何其他用户界面的情况下,在脚本中提示input文件或文件名的快捷方法是什么?
在Ubuntu 10.04默认情况下安装了Python 2.6,然后我安装了Python 2.7。 我如何使用pip install来安装Python 2.7的包。 例如: pip install beautifulsoup4 默认安装BeautifulSoup for Python 2.6 当我这样做时: import bs4 在Python 2.6中,它工作,但在Python 2.7中说: No module named bs4
subprocess.Popen()和os.system()有什么区别?
例如: >>> x = [1, 1, 2, 'a', 'a', 3] >>> unique(x) [1, 2, 'a', 3] 假设列表元素是可散列的。 澄清:结果应该保留在列表中的第一个副本。 例如,[1,2,3,2,3,1]变成[1,2,3]。
>>> range(1,11) 给你 [1,2,3,4,5,6,7,8,9,10] 为什么不1-11? 他们是不是就这样随便做了呢,还是有一些我没有看到的价值呢?