小编Nil*_*esh的帖子

如何检查ubuntu docker的syslog

我安装tutum/ubuntu在本地vm的docker中.

当我登录ubuntu并运行下面的命令.

logger "Test Logging"
Run Code Online (Sandbox Code Playgroud)

我找不到在哪里这个记录在文件中,在我的本地系统,我可以看到system.logsyslogmessages文件/var/log.但是当我检查/var/log容器时,我找不到这样的文件.

root@fbc4ae457ad9:~# ls -al /var/log/
total 316
drwxrwxr-x  6 root syslog   4096 Jun 20 16:49 .
drwxr-xr-x 16 root root     4096 Jun 20 16:42 ..
-rw-r--r--  1 root root     9174 Mar 17 15:17 alternatives.log
drwxr-xr-x  2 root root     4096 Mar 17 15:17 apt
-rw-r--r--  1 root root    47816 Mar 15 04:34 bootstrap.log
-rw-rw----  1 root utmp      768 Jun 20 16:49 btmp …
Run Code Online (Sandbox Code Playgroud)

ubuntu logging syslog docker

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

如何在tox中设置环境变量?

我有tox 2.9.1

$ tox --version
2.9.1 imported from /Library/Python/2.7/site-packages/tox/__init__.pyc
registered plugins:
    tox-pyenv-1.1.0 at /Library/Python/2.7/site-packages/tox_pyenv.pyc
Run Code Online (Sandbox Code Playgroud)

文件结构和内容如下

$ tree .
.
??? setup.py
??? test_env.py
??? tox.ini

0 directories, 3 files
Run Code Online (Sandbox Code Playgroud)

setup.py

$ cat setup.py
from setuptools import setup

setup(name="Tox Testing")
Run Code Online (Sandbox Code Playgroud)

tox.ini

$ cat tox.ini
[tox]
envlist = py35
setenv =
    XYZ = 123

[testenv]
deps=pytest
commands=py.test
Run Code Online (Sandbox Code Playgroud)

test_env.py

$ cat test_env.py
import os

def test_env():
    assert os.getenv('XYZ') == 123
Run Code Online (Sandbox Code Playgroud)

当我运行tox命令时,我的测试失败了.

$ tox -v
using tox.ini: /private/tmp/testing/tox.ini
using tox-2.9.1 from /Library/Python/2.7/site-packages/tox/__init__.pyc …
Run Code Online (Sandbox Code Playgroud)

python virtualenv setenv tox

9
推荐指数
3
解决办法
4104
查看次数

事务管理器恢复/回滚上次提交

我尝试通过将测试数据从测试用例setUp()放到setUpClass()/teardownClass类方法来加速我的测试,因此它不会为测试用例中的每个测试重新创建相同的仅选择夹具.

@classmethod
def setUpClass(cls):
    plant.StuffFactory() #plant stuff with FactoryBoy
    transaction.commit()

@classmethod
def tearDownClass(cls):
    session.query(models.Stuff).delete() # delete planted stuff
    transaction.commit()
Run Code Online (Sandbox Code Playgroud)

但我不喜欢自己删除session.delete的东西,因为我使用了很多模型而不想跟踪我种植的内容.我想要类似的东西

@classmethod
def tearDownClass(cls):
    session.clear() #delete all
    transaction.commit()
Run Code Online (Sandbox Code Playgroud)

但是session.close()session.remove()不会影响提交的数据.所以我寻求某种方式"取消",setUpClass transaction.commit()就像我不种植任何东西.

我尝试嵌套事务和保存点,但它们只有在尚未提交数据的情况下才能工作.

有什么指针吗?

python sqlalchemy pyramid

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

使用ArcGIS安装的Python 2.7安装pip

我正在尝试在Windows 8.1上安装Scrapy for Python 2.7,我知道我首先需要安装pip.由于我通过ArcGIS 10.2安装了Python,我认为我需要在C:\ Python27\ArcGIS10.2\lib\site-packages下安装pip.一旦pip安装在该目录中,我收到错误代码:

>>> import pip
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python27\ArcGIS10.2\lib\site-packages\pip\__init__.py", line 10, in <module>
    from pip.util import get_installed_distributions, get_prog
  File "C:\Python27\ArcGIS10.2\lib\site-packages\pip\util.py", line 18, in <module>
    from pip._vendor.distlib import version
  File "C:\Python27\ArcGIS10.2\lib\site-packages\pip\_vendor\distlib\version.py", line 14, in <module>
    from .compat import string_types
  File "C:\Python27\ArcGIS10.2\lib\site-packages\pip\_vendor\distlib\compat.py", line 38, in <module>
    from HTMLParser import HTMLParser
  File "C:\Python27\ArcGIS10.2\lib\HTMLParser.py", line 47, in <module>
    """, re.VERBOSE)
  File "C:\Python27\ArcGIS10.2\lib\re.py", line 190, in compile
    return _compile(pattern, flags) …
Run Code Online (Sandbox Code Playgroud)

python pip arcgis scrapy

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

如何使用setup.py只安装依赖项?

我对安装我自己的软件包不感兴趣,但我有兴趣安装我的软件包使用的所有依赖项.有没有办法使用setup.py?它似乎setup.py安装我的包和所有依赖项.

python setup.py

8
推荐指数
2
解决办法
1874
查看次数

使用virtualenv时,django settings.py中TEMPLATE_DIRS的路径是什么

我使用的virtualenv,我想知道什么TEMPLATE_DIRSsettings.py应该是,例如,如果我做一个模板文件夹在我的项目文件夹的根.

python virtualenv

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

将Python IDLE设置为默认程序以打开.py扩展

我在Windows 7上.我Python 2.7.8 (64 bit)安装了.今天,我更改了.py从IDLE 打开文件到Windows命令处理器的默认程序,并愚蠢地选中了"始终使用所选程序打开此类文件"的复选框.

我想要做的是将我的默认程序更改回IDLE.

当我尝试将其更改回IDLE时,我转到Control Panel\Programs\Default Programs\Set Associations并选择.py名称并单击"更改程序".我确实看到,python.exe但选择什么也没做.然后我用"浏览"按钮定位到C:\Python27\Lib\idlelib,但不知道我是否应该选择idle.py,idle.pyw,idle.bat或其他一些空闲程序,这将迫使默认程序被闲置!

选择其中之一后没有任何反应.

如何使IDLE成为打开.py文件的默认程序,现在取消Windows命令处理器的默认设置?

python python-idle python-2.7

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

python:如何将“unicodedata”模块添加到我当前的 python 库中

目前我正在使用 python 模块“requests”来处理一些 https 问题。

我的代码在 Windows 机器上运行良好。但是当我将所有源代码复制到linux机器并运行所有代码时,出现了反馈ImportError: No module named unicodedata

我的python版本是2.7.4。但我发现'unicodedata'模块首先出现在2.5中。所以很奇怪为什么我当前的版本不包含它。

有没有什么方法可以在不更新python版本的情况下解决这个问题呢?或者说如何将 'unicodedata' 模块移植到我当前的 python 库?谢谢!

python python-requests

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

如何使用美丽的汤从URL中提取内容时设置会话cookie?

考虑一下代码:

from bs4 import BeautifulSoup
from urllib.request import urlopen
content = urlopen('https://example.net/users/101')
soup = BeautifulSoup(content)
divTag = soup.find_all("div", {"class":"classname"})
print(divTag)
for tag in divTag:
   ulTags = tag.find_all("ul", {"class":"classname"})
   for tag in ulTags:
       aTags = tag.find_all("li")
       for tag in aTags:
           name = tag.find('a')['href']
           print(name)
Run Code Online (Sandbox Code Playgroud)

如果我使用,

content = open("try.html","r")
Run Code Online (Sandbox Code Playgroud)

我得到了所需的输出.

在这里,只有在输入用户名和密码后才能访问example.net.虽然解析是正确完成的,但上面的代码不会打印任何内容.如何将会话cookie值添加到此代码中?

python cookies session beautifulsoup web-scraping

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

与 sudo 一起使用时未设置 pyenv 变量

我正在按照https://amaral.northwestern.edu/resources/guides/pyenv-tutorial安装 pyenv。

我安装了 pyenv 并更新.bash_profile

export PYENV_ROOT=/usr/local/pyenv/
export PATH="/usr/local/pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)

我添加了我的用户 和,两者都可以毫无问题地root访问。pyenv

当我运行sudo pyenv它时出现错误。

$ sudo pyenv
sudo: pyenv: command not found
Run Code Online (Sandbox Code Playgroud)

但是当我登录该用户后运行时,它工作正常。

$ sudo -i
# pyenv
pyenv 1.2.4
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set …
Run Code Online (Sandbox Code Playgroud)

python bash sudo pyenv

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