我尝试使用以下内容:
import xml.etree.ElementTree as ET
Run Code Online (Sandbox Code Playgroud)
但flake8
withpep8-naming
给出以下警告:
import xml.etree.ElementTree as ET
Run Code Online (Sandbox Code Playgroud)
然后我尝试:
import xml.etree.ElementTree as et
import xml.etree.ElementTree as element_tree
Run Code Online (Sandbox Code Playgroud)
但再一次:
N817 camelcase 'xml.etree.ElementTree' imported as acronym 'ET'
Run Code Online (Sandbox Code Playgroud)
flake8 在这里想要什么?
我在 Android Studio 中打开了一个文件夹,其中包含一个 Kotlin 脚本文件 ( .kts
)。我在项目结构中配置了 JDK 作为 SDK(但我没有添加 gradle 文件),并且作为 Kotlin 脚本运行该文件工作正常。然而,语法突出显示仅部分有效,请参阅下面的示例(Linux Mint 19.3 和 AS 4.1.3):
一些缺失的东西:
val unused
)to
/forEach
关键字应为黄色斜体这里究竟发生了什么事?这是某种“后备”模式吗?
有什么方法可以使用普通 Android 项目的“完整”语法突出显示,以便我可以更早地发现错误吗?
作为参考,它“应该”是这样的(粘贴到随机的 Android 项目中):
我试图在 Android 的后台运行一个任务,我想知道我是否需要指定GlobalScope.launch(Dispatchers.IO) { ... }
或者一个简单的GlobalScope.launch { ... }
就足够了。我担心的是第二种形式是在主线程还是后台/IO 线程中启动协程?
根据Android 文档,
launch
不带Dispatchers.IO
参数。当您不传递 aDispatcher
来启动时,任何从viewModelScope
运行启动的协程都在主线程中运行。
根据Kotlin 文档,
在 GlobalScope 中启动协程时使用的默认调度程序由 Dispatchers.Default 表示并使用共享的线程后台池,因此
launch(Dispatchers.Default) { ... }
使用与GlobalScope.launch { ... }
.
我知道协程直到最近才处于试验阶段,Android-Kotlin 与纯 Kotlin 开发是不同的,但这些陈述对我来说似乎是矛盾的。
我正在尝试将一些 Python 代码转换为.exe
PyInstaller。我的代码使用 distutils,这在过去已经让我有些头疼,因为它似乎重复了 setuptools 的功能,并且与它的交互很奇怪。例如,它需要未使用的setuptools 导入才能正常工作,这对我来说似乎非常不Python。
我需要在我的项目中使用这两个包。我在订单中导入了两个包,import setuptools; import distutils
因为另一个订单抛出了一个已经令人担忧的警告。
我的脚本运行良好,但在我将其转换为 exe 后,我在 setuptools 的可疑子模块内得到了回溯_distutils_hack
。是的,它只是打印一个没有上下文的文件名。
Traceback (most recent call last):
<18 lines omitted>
File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
File "_distutils_hack\override.py", line 71, in <module>
File "_distutils_hack\__init__.py", line 71, in do_override
File "_distutils_hack\__init__.py", line 59, in ensure_local_distutils
AssertionError: C:\Users\<omitted>\AppData\Local\Temp\_MEI294562\distutils\core.pyc
Run Code Online (Sandbox Code Playgroud)
我在用
Python 3.7.7 on win32
(但我用 3.8、3.9 和 3.10 复制了它)pyinstaller==4.8
(2022 年 1 月)Windows 版distutils==3.7.7
(内置) …我通过逐个矩阵乘法遇到了麻烦.即一个看起来很像的表达式总是返回一个接近[1 0]的向量,而一个看起来相似的表达式返回正确的结果:
// version WITH temp var, correct
Eigen::Vector3d lcoord_eig(lcoord[0], lcoord[1], lcoord[2]);
auto lcoord2d = P3to2 * lcoord_eig;
std::cout << std::endl << lcoord2d << std::endl;
// version WITHOUT temp var, always [1 0]
auto lcoord2d_2 = P3to2 * Eigen::Vector3d(lcoord[0], lcoord[1], lcoord[2]);
std::cout << std::endl << lcoord2d_2 << std::endl;
Run Code Online (Sandbox Code Playgroud)
where P3to2
是2乘3矩阵(Eigen::MatrixXd
)并且lcoord
是其他库的3d矢量类型,上面的代码包含在for循环中.
一些输出(由我注释):
-0.0036135
2.1684e-18 // correct
1
0 // [1 0], wrong
0.00209583
0.000388139 // correct
1
5.55112e-17 // [1 0], wrong
0.00148429
-0.000435008 // correct …
Run Code Online (Sandbox Code Playgroud) 当您在 Unity IDE 内部运行项目时,您可以在单独的控制台小部件中看到日志消息。但是,我正在开发一款多人游戏,因此我需要至少在 2 个以上客户端上进行测试,这需要在 IDE 之外进行独立构建,因此我无法再看到日志消息。有什么方法可以在实际屏幕或 GUI 上打印日志吗?