小编Bri*_*ant的帖子

为什么我不能让`pip install lxml`在virtualenv中工作?

注意:我正在使用virtualenvwrapper.

在激活虚拟环境之前:

$ pip install lxml
Requirement already satisfied (use --upgrade to upgrade): lxml in /usr/lib/python2.7/dist-packages  
Cleaning up...  
Run Code Online (Sandbox Code Playgroud)

激活虚拟环境后:

(test-env)$ pip install lxml
force/build/lxml/src/lxml/includes/etree_defs.h:9:31: fatal error: 
libxml/xmlversion.h: No such file or directory

compilation terminated.

error: command 'gcc' failed with exit status 1

----------------------------------------
Command /home/chaz/dev/envs/test-with-system-python-force/bin/python2
.7 -c "import setuptools;__file__='/home/chaz/dev/envs/test-with-
system-python-force/build/lxml/setup.py';exec(compile(open(__file__).
read().replace('\r\n', '\n'), __file__, 'exec'))" install --record 
/tmp/pip-bJ6Q_B-record/install-record.txt --single-version-externally
-managed --install-headers /home/chaz/dev/envs/test-env/include/site/python2.7 failed with error code 1 in 
/home/chaz/dev/envs/test-env/build/lxml
Storing complete log in /home/chaz/.pip/pip.log
Run Code Online (Sandbox Code Playgroud)

python virtualenv virtualenvwrapper

69
推荐指数
3
解决办法
5万
查看次数

是否有可能在Sublime Text 2中显示确切的位置?

我一直在学习Markdown,并使用Python Markdown软件包,当我尝试转换从Web上粘贴的文本时,它通常会返回以下内容:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in 
position 1611: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

在我的编辑器的底部,我目前看到这个:

COMMAND MODE, Line X, Column Y
Run Code Online (Sandbox Code Playgroud)

Sublime Text 2中是否有一个设置1611可以随时显示完整位置(如上例所示),这样我就可以快速找到坏角色?

python markdown sublimetext2

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

用正则表达式取代我的Vim正在抛出一个"E488:尾随字符"

我正在尝试查找Twitter句柄的所有实例,并在它们周围包装锚标记.

:%s/\(@[\w]\)/<a href="http://www.twitter.com/\1">\1<\/a>/gc
Run Code Online (Sandbox Code Playgroud)

这给了我:

E488: Trailing characters
Run Code Online (Sandbox Code Playgroud)

regex vim

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

如何在Django unittest中使用pdb.set_trace()?

我想像调试任何其他Python代码一样调试Django TestCase:只需调用pdb.set_trace()然后进入交互式会话即可.当我这样做时,我没有看到任何东西,因为测试是在不同的过程中运行的.我正在使用django-discover-runner,但我的猜测是这适用于默认的Django测试运行器.

问题:

是否可以在每次错误/失败pdb时使用django-discover-runnera)进入会话,和/或b)只有在我调用pdb.set_trace()我的测试代码时?

有些研究:

这个答案解释了Django创建了另一个进程,并建议使用rpdb2 debugger一部分调用winpdb,但我不想使用winpdb,我宁愿使用ipdb.

这个答案django-nose通过运行如下所示的测试命令解决了问题:./manage.py test -- -s但该选项不可用django-discover-runner.

这个答案显示我可以这样做ipython:

In [9]: %pdb
Automatic pdb calling has been turned ON
Run Code Online (Sandbox Code Playgroud)

这似乎是一个潜在的选择,但ipython每次运行测试时启动它似乎有点麻烦.

最后,这个答案表明nose带有一个--pdb标志,它会pdb出现错误,这就是我想要的.我唯一的选择是切换到django-nose测试跑步者?

我在内置帮助中没有看到任何选项django-discover-runner:

$ python manage.py help test --settings=settings.test
Usage: manage.py test [options] [appname ...]

Runs …
Run Code Online (Sandbox Code Playgroud)

django debugging django-testing pdb

21
推荐指数
2
解决办法
9350
查看次数

如何在Github上确定Python包的蛋名?

我知道我可以安装使用

$ pip install -e git+https://git.repo/some_pkg#egg=SomePackage
Run Code Online (Sandbox Code Playgroud)

但是 - 当我试图使用别人的包装时 - 我如何确定鸡蛋的名称是什么?

python egg pip distribute

20
推荐指数
1
解决办法
3530
查看次数

为什么Syntastic没有捕获JSON错误?

我刚刚添加jsonlintSyntastic,它没有捕获任何语法错误. flake8适用于Python,并且已经有一段时间了,但没有jsonlint.下面你会看到我的.vimrc的相关部分,我相信它拥有我需要的所有东西来让下一个检查器工作.

的.vimrc

let g:syntastic_python_checkers=['flake8']
let g:syntastic_python_flake8_args = '--ignore="E501"' " ignore long lines
let g:syntastic_json_checkers=['jsonlint']

" Better :sign interface symbols
let g:syntastic_error_symbol = '?'
let g:syntastic_warning_symbol = '!'
Run Code Online (Sandbox Code Playgroud)

哪个jsonlint

/usr/local/bin/jsonlint
Run Code Online (Sandbox Code Playgroud)

vim syntastic

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

Vim:"E185:找不到颜色方案曝光"

设置一台新机器并尝试在Vim中运行Solarized.运行vim时出现以下错误:

E185: Cannot find color scheme solarized

试图遵循官方回购中Solarized README的 Pathogen安装说明.检查了这个类似的问题和答案,它通过在目录中实际拥有正确的文件解决了问题,但正如您在下面看到的,我的目录确实充满了好吃的东西(我只是克隆了它).

细节

  • iTerm2
  • .vimrc正在加载,其他插件正在运行
  • 试图手动安装Solarized(通过将solarized.vim移动到.vim/colors),但得到了同样的错误

的.vimrc

32 syntax enable  
33 " colo wombat  
34  
35 """ Solarized """  
36 let g:solarized_termcolors=256  
37 set background=dark  
38 colorscheme solarized  
Run Code Online (Sandbox Code Playgroud)

.vim目录

??? autoload  
?   ??? pathogen.vim  
??? bundle  
?   ??? ctrlp.vim  
?   ?   ??? autoload  
?   ?   ?   ??? ctrlp  
?   ?   ?   ?   ??? bookmarkdir.vim  
?   ?   ?   ?   ??? buffertag.vim  
?   ?   ?   ?   ??? changes.vim  
?   ?   ? …
Run Code Online (Sandbox Code Playgroud)

vim color-scheme pathogen

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

无法从一个 Docker 容器 ping 到另一个容器

我们一直遇到一个长期存在的网络问题。简而言之,一个容器无法 ping(或 ssh)另一个容器。有人有额外的时间和我一起思考吗?

我们的设置:

  • Docker CE 18.06.03(在尝试解决该问题时,我们已从 17.03 升级,但没有帮助)
  • Swarm 经典(单机)1.2.9
  • Consul 作为 Swarm 后端,在五个节点上与成员一起运行
  • 总共七个节点,其中六个托管容器
  • 每个容器在启动时都会连接到覆盖网络

到目前为止我们已经尝试过:

这个问题很大程度上难倒了我们。我们花了很多时间,完成了大部分基本故障排除,以及一些更高级的故障排除(很乐意详细说明)。(但我不认为我已经用尽了我们的选择,所以请毫不犹豫地提出您认为可行的任何建议。)它是不一致的(发生在不同的图像、不同的节点上)、间歇性的和长期存在的(数月)。我们做了两项更改,其中一项是 MAC 地址分配的解决方法(此处解释:https: //github.com/docker/libnetwork/pull/2380;实际的解决方法: https: //github.com/systemd /systemd/issues/3374#issuecomment-452718898),这确实改善了情况,包括从日志中删除 MAC 地址分配错误。我们还升级了此修复程序 ( https://github.com/docker/libnetwork/pull/1935 ),该修复程序处理 IP 重用问题。这也减少了问题(当时没有容器可以通信)。我还使用 netshoot 容器进行了一些基础测试(如果您需要更多信息,请告诉我)。

对于损坏的给定容器,我们有一个解决方法:我们删除该容器的 Consul 数据,然后停止并重新启动它。据我所知,这似乎不是 Consul 数据本身的问题,而是来自 Docker/Swarm 在容器启动时重置了多个网络配置(如果这似乎引发了任何人的思考,我可以说更多)阅读)。然后,该容器通常可以 ping 通其他容器,但并非总是如此。

具体问题:

似乎有一段时间情况可能会更糟。它不一定与同时启动多个容器相关,但有一个比较清晰的模式:在某些时间窗口内,容器无法正确配置以相互通信。您想到了哪些故障排除步骤?

下面的内容是尝试82afb0dccbcc从另外两个容器 ping 一个容器 ( ) 的输出。一开始会失败,但后来就成功了。

我第一次尝试对容器执行 ping 操作,地址为2019-12-10T23:57:52+00:00

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
82afb0dccbcc: user___92397089 crccheck/hello-world
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PING 82afb0dccbcc (172.24.0.165) 56(84) bytes of data.^M
^M
--- 82afb0dccbcc ping statistics ---^M
4 …
Run Code Online (Sandbox Code Playgroud)

ssh networking ping docker docker-swarm

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

使用 Stackexchange API 检索答案和评论的文本正文

我正在尝试使用堆栈交换 API 从堆栈溢出中检索与 Python 相关的问题、问题评论和问题答案。我想提取所有信息,包括问题、评论和答案的正文。为了提取问题,我使用以下代码:

questions = SITE.fetch('questions', tagged='python', fromdate=from_date, todate=today,filter='!9YdnSIN*P')
Run Code Online (Sandbox Code Playgroud)

此过滤器返回与问题相关的所有信息,包括问题的文本正文。但是,当我使用相同的过滤器来提取这些问题的答案时,我没有得到答案的文本正文。这是代码:

answers = SITE.fetch('questions/{ids}/answers', ids=[59239886],filter='!9YdnSIN*P')
Run Code Online (Sandbox Code Playgroud)

当我将过滤器的值更改为

'!*SU8CGYZitCB.D*(BDVIficKj7nFMLLDij64nVID)N9aK3GmR9kT4IzT*5iO_1y3iZ)6W.G*'
Run Code Online (Sandbox Code Playgroud)

它开始检索答案的文本正文,但丢失了其他重要信息(标签),例如显示与问题相关的答案的“question_id”。检索与问题评论相关的信息也存在同样的问题。

谁能指导我如何在不丢失重要信息的情况下获得答案和评论的正文?

python stackexchange python-3.x stackexchange-api

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

当我安装Heroku时,我的包管理器坏了

sudo apt-get install <anything>

Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/toolbelt.heroku.com_ubuntu_._en
E: The package lists or status file could not be parsed or opened.
Run Code Online (Sandbox Code Playgroud)

我接下来要解决这个问题的后续步骤是什么?


更新:我尝试重新安装并获得下面的输出.它似乎已安装,但是command not found: heroku当我heroku从命令行尝试时,我得到了.安装命令挂了很长时间[Waiting for Headers].

基于这些错误消息,我的下一步是什么?

W: GPG error: http://us.archive.ubuntu.com precise Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
W: GPG error: http://us.archive.ubuntu.com precise-backports Release: The following signatures were invalid: BADSIG 40976EAF437D05B5 …
Run Code Online (Sandbox Code Playgroud)

heroku package-managers ubuntu-12.04

8
推荐指数
1
解决办法
4823
查看次数

AttributeError:'AlumniResponseFormFormSet'对象没有属性'new_objects'

我正在使用Django管理员并尝试对映射为InlineModelAdmin对象的相关对象进行一些更改.我正在尝试使用Django提供的save_related(self,request,form,formsets,change)方法.当我尝试保存某些内容时,出现错误:

AttributeError: 'AlumniResponseFormFormSet' object has no attribute 'new_objects'

其他信息:

1)我有两个InlineModelAdmins
2)当发生此错误时,我没有保存AlumniResponseInline.我正在保存与同一父模型关联的另一个InlineModelAdmin
3)直到我添加了save_related()方法,我没有遇到问题保存InlineModelAdmin
4)在我的所有代码在save_related()中执行后发生此错误,所以我无法控制捕获该异常

save_related()的文档:

save_related方法被赋予HttpRequest,父ModelForm实例,内联formset列表以及基于父项是否被添加或更改的布尔值.在这里,您可以对与父项相关的对象执行任何预保存或后保存操作.请注意,此时父对象及其表单已保存.

django django-models django-forms django-admin

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

为什么Selenium会导致CSRF 403?

我正在尝试使用Django和Selenium创建一个简单的登录测试,但由于CSRF失败而获得403.我期待中间件在GET请求上添加cookie,然后在POST上解析它.

这是我到目前为止检查的内容:

1. Cookie是否在GET请求中设置/accounts/login/

是的,cookie正在process_response方法中设置

2. Selenium驱动程序上是否提供cookie?

ipdb> self.selenium.get_cookies()
[{u'domain': u'localhost', u'name': u'csrftoken', u'value': u'DzNbEn9kZw0WZQ4OsRLouriFN5MOIQos', u'expiry': 1470691410, u'path': u'/', u'httpOnly': False, u'secure': True}]
Run Code Online (Sandbox Code Playgroud)

3.在POST请求期间是否找到了cookie?

不,这个尝试/除了django.middleware.CsrfViewMiddleware.process_view失败:

资源

try:
    csrf_token = _sanitize_token(
        request.COOKIES[settings.CSRF_COOKIE_NAME])
    # Use same token next time
    request.META['CSRF_COOKIE'] = csrf_token
except KeyError:
    csrf_token = None
    # Generate token and store it in the request, so it's
    # available to the view.
    request.META["CSRF_COOKIE"] = _get_new_csrf_key()
Run Code Online (Sandbox Code Playgroud)

class TestLogin(StaticLiveServerTestCase):

    @classmethod
    def setUpClass(cls):
        cls.selenium = getattr(webdriver, …
Run Code Online (Sandbox Code Playgroud)

django cookies selenium csrf django-csrf

6
推荐指数
1
解决办法
1629
查看次数