我安装tutum/ubuntu在本地vm的docker中.
当我登录ubuntu并运行下面的命令.
logger "Test Logging"
Run Code Online (Sandbox Code Playgroud)
我找不到在哪里这个记录在文件中,在我的本地系统,我可以看到system.log或syslog或messages文件/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) 我有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) 我尝试通过将测试数据从测试用例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()就像我不种植任何东西.
我尝试嵌套事务和保存点,但它们只有在尚未提交数据的情况下才能工作.
有什么指针吗?
我正在尝试在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) 我对安装我自己的软件包不感兴趣,但我有兴趣安装我的软件包使用的所有依赖项.有没有办法使用setup.py?它似乎setup.py安装我的包和所有依赖项.
我使用的virtualenv,我想知道什么TEMPLATE_DIRS的settings.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 模块“requests”来处理一些 https 问题。
我的代码在 Windows 机器上运行良好。但是当我将所有源代码复制到linux机器并运行所有代码时,出现了反馈ImportError: No module named unicodedata。
我的python版本是2.7.4。但我发现'unicodedata'模块首先出现在2.5中。所以很奇怪为什么我当前的版本不包含它。
有没有什么方法可以在不更新python版本的情况下解决这个问题呢?或者说如何将 'unicodedata' 模块移植到我当前的 python 库?谢谢!
考虑一下代码:
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值添加到此代码中?
我正在按照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 ×9
virtualenv ×2
arcgis ×1
bash ×1
cookies ×1
docker ×1
logging ×1
pip ×1
pyenv ×1
pyramid ×1
python-2.7 ×1
python-idle ×1
scrapy ×1
session ×1
setenv ×1
setup.py ×1
sqlalchemy ×1
sudo ×1
syslog ×1
tox ×1
ubuntu ×1
web-scraping ×1