小编Ben*_*Ben的帖子

除日志文件外,使Python记录器还将所有消息输出到stdout

有没有办法使用logging模块自动将事物输出到stdout 以及它们应该去的日志文件?例如,我想所有呼叫logger.warning,logger.critical,logger.error去他们预期的地方,但除了总是被复制到stdout.这是为了避免重复消息,如:

mylogger.critical("something failed")
print "something failed"
Run Code Online (Sandbox Code Playgroud)

python logging error-logging

417
推荐指数
8
解决办法
32万
查看次数

运行JUnit测试时找不到类异常

我在Eclipse中运行JUnit测试时遇到此错误:

Class not found com.myproject.server.MyTest
java.lang.ClassNotFoundException: com.myproject.server.MyTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
Run Code Online (Sandbox Code Playgroud)

我尝试JUnit在类路径中添加库,虽然我正在使用maven,而JUnit库是POM依赖项.

我已经尝试清理项目并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然遇到同样的错误.

java eclipse junit

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

如何从 IDE 运行/调试流应用程序

我真的很喜欢 streamlit 作为研究环境,混合笔记本/仪表板之类的输出,我可以使用纯代码快速设计其定义(无单元格等),并且能够在运行时通过小部件影响我的代码。

为此,我正在寻找一种运行甚至调试流应用程序的方法,因为它的默认启动方式是通过命令行:

streamlit run code.py

有没有办法做到?

干杯

ide debugging intellij-idea pycharm streamlit

19
推荐指数
5
解决办法
5663
查看次数

python 3.5 asyncio和aiohttp Errno 101网络无法访问

我在Ubuntu 16上使用python 3.5.

我正在尝试使用aiohttp来编写一个简单的客户端.

这是我的代码.我从这里拿走了它.这是第一个代码示例,禁用了ssl检查:

import aiohttp
import asyncio
import async_timeout

async def fetch(session, url):
    with async_timeout.timeout(10):
        async with session.get(url) as response:
            return await response.text()

async def main(loop):
    conn = aiohttp.TCPConnector(verify_ssl=False)
    async with aiohttp.ClientSession(loop=loop, connector=conn) as session:
        html = await fetch(session, 'http://www.google.com')
        print(html)

loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))

loop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
Run Code Online (Sandbox Code Playgroud)

对于某些网站,此代码有效.对于其他人,包括http://python.orghttp://google.com不起作用.相反,代码会生成此错误:

aiohttp.errors.ClientOSError: [Errno 101] Cannot connect to host google.com:80 ssl:False [Can not connect to google.com:80 [Network is unreachable]]
Run Code Online (Sandbox Code Playgroud)

我尝试了一个简单的requests脚本,如下所示:

import requests …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-asyncio aiohttp

10
推荐指数
1
解决办法
1181
查看次数

btDefaultMotionState的多个实例都被忽略,但只有一个

总结问题:

到目前为止,我的世界里有两具尸体,一枚是地面,另一枚是一个叫做"坠落之星"的坠落盒子.

1)我不明白为什么我的子弹世界与我绘制的世界不一致,除非我设置btVector3(2,2,2)了(btDefault)MotionState 的偏移量.在代码中的任何地方都没有花哨的魔法可以解释偏移.或者至少我找不到任何理由,不是在着色器中,而是在任何地方.

2)我希望能够使用多个实例btDefaultMotionState,确切地说,我想将一个实例用于下降的实体并将其放置在地面上的某个位置,然后为地面创建另一个应该与我的图形对齐的实例 - 地面,永远不动.

我在2)方面遇到的问题是,无论出于什么原因btDefaultMotionState,坠落实体的实例总是也影响地面实例,没有任何参考.

现在到代码:

创建fallBox:

btCollisionShape *fallingBoxShape = new btBoxShape(btVector3(1,1,1));
btScalar fallingBoxMass = 1;
btVector3 fallingBoxInertia(0,0,0);
fallingBoxShape->calculateLocalInertia(fallingBoxMass, fallingBoxInertia);

// TODO this state somehow defines where exactly _ALL_ of the physicsWorld is...
btDefaultMotionState *fallMotionState = new btDefaultMotionState(btTransform(btQuaternion(0,0,0,1), btVector3(2,2,2)));
//btDefaultMotionState *fallMotionState = new btDefaultMotionState();
btRigidBody::btRigidBodyConstructionInfo fallingBoxBodyCI(fallingBoxMass, fallMotionState, fallingBoxShape, fallingBoxInertia);
/*btTransform initialTransform;
initialTransform.setOrigin(btVector3(0,5,0));*/
this->fallingBoxBody = new btRigidBody(fallingBoxBodyCI);
/*fallMotionState->setWorldTransform(initialTransform);
this->fallingBoxBody->setWorldTransform(initialTransform);*/
this->physicsWorld->addBody(*fallingBoxBody);
Run Code Online (Sandbox Code Playgroud)

现在对我来说有趣的部分是btVector3(2,2,2)将它与我绘制的世界对齐的必要偏移量:

btTransform initialTransform;
initialTransform.setOrigin(btVector3(0,5,0));
this->fallingStarBody = new btRigidBody(fallingStarBodyCI); …
Run Code Online (Sandbox Code Playgroud)

c++ game-engine game-physics bulletphysics

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

使用aiohttp / asyncio的异步HTTP调用失败,并显示“无法连接到主机[网络不可达]”

我正在实现一个快速异步REST接口调用程序,我想通过该调用程序以同步方式上载数据。现在,我将要构建一个异步框架,该框架仅以异步方式调用python页面并测量延迟。

这是代码(如下所述不起作用):

import aiohttp
import asyncio
import async_timeout
from timeit import default_timer as timer

async def fetch(session, url):
    start = timer()
    with async_timeout.timeout(10):
        async with session.get(url) as response:
            date = response.headers.get("DATE")
            end = timer()
            delay = end - start
            print("{}:{} with delay {} s".format(date, response.url, delay))
            return await response.read()

async def bound_call(semaphore, session, url):
    async with semaphore:
        await fetch(session, url)

async def perform_call(session):
    sem = asyncio.Semaphore(1000)
    html = await bound_call(sem, session, 'http://python.org')

async def perform_calls(n):
    tasks = []
    async with …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-asyncio aiohttp

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

子弹/弹药中的刚体(形状)来自three.js中的网格

我正在将 bullet/ammo.js 与three.js 一起使用。我有一个 3d 网格,我想使用精确的形状与软体进行碰撞检测。有没有办法从网格(在three.js中)创建一个3d刚体(在子弹中)?

下面是一个例子:http : //kidzinski.com/miamisura/lazy3d/(请稍等片刻,下载 3d 模型)。我有一块布落在 3d 身体上,我需要模拟这块布与身体的碰撞。

如果我从根本上误解了某些东西,我是这些框架的新手,抱歉。

physics bulletphysics three.js ammo.js

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