你如何让Jenkins执行python unittest案例?是否可以从内置unittest
包中获得JUnit样式的XML输出?
每次从源代码编译时,都会经历相同的3个步骤:
$ ./configure
$ make
$ make install
Run Code Online (Sandbox Code Playgroud)
我理解,将安装过程划分为不同的步骤是有道理的,但我不明白,为什么这个星球上的每个编码器必须一次又一次地编写相同的三个命令才能完成一个单独的工作.从我的角度来看./install.sh
,使用包含以下文本的源代码自动交付脚本是完全合理的:
#!/bin/sh
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)
人们为什么要分开做3个步骤?
我想自动从提交中排除2个文件,这些文件是git存储库的一部分但有一些更改,它们不应该是github repo的一部分,因为它们有一些只对我的本地系统有意义的更改,而不是另一个开发人员.
我把它们添加到.git/info/exclude
希望git了解他不应该对它们进行更改:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
a.conf
b.conf
# *~
Run Code Online (Sandbox Code Playgroud)
但git status
仍然将它们列为提交的阶段:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: build/conf/a.conf
# modified: build/conf/b.conf
#
Run Code Online (Sandbox Code Playgroud)
我不想在每次提交时定期取消它们(有一次我可能会忘记),我该怎么做?
我得到所有这些错误消息cout
和endl
:
main.cc:17:5: error: ‘cout’ was not declared in this scope
main.cc:17:5: note: suggested alternative:
/usr/include/c++/4.6/iostream:62:18: note: ‘std::cout’
Run Code Online (Sandbox Code Playgroud)
按照这个建议,一切都很好.现在我很好奇,为什么我必须那样做.我们之前在类中使用过C++,但是我从来没有std::
在任何这些命令之前写过.这个系统可能有什么不同?
python中是否有内置函数将二进制字符串(例如'111111111111')转换为二进制补码整数 -1?
我想知道是否有一种简单的方法来格式化dict-outputs的字符串,例如:
{
'planet' : {
'name' : 'Earth',
'has' : {
'plants' : 'yes',
'animals' : 'yes',
'cryptonite' : 'no'
}
}
}
Run Code Online (Sandbox Code Playgroud)
......,一个简单的str(dict)会给你一个相当难以理解的......
{'planet' : {'has': {'plants': 'yes', 'animals': 'yes', 'cryptonite': 'no'}, 'name': 'Earth'}}
Run Code Online (Sandbox Code Playgroud)
对于我所知道的Python,我将不得不编写许多代码,包括许多特殊情况和string.replace()调用,其中这个问题本身看起来不像1000行问题.
请根据此形状建议格式化任何字典的最简单方法.
从我的角度来看,PHP和Java都有类似的结构.首先,您编写一些高级代码,然后必须以更简单的代码格式进行翻译才能由VM执行.一个区别是,PHP直接从源代码文件中工作,而Java将字节码存储在.class文件中,VM可以从中加载它们.
如今,对快速PHP执行的要求越来越高,这使人们相信直接使用操作码更好,而不是每次用户点击文件时都要经过编译步骤.
该解决方案似乎是所谓的加速器的加载,它基本上将编译结果存储在缓存中,然后使用缓存的操作码而不是再次编译.
另一种由Facebook完成的方法是将PHP代码完全编译为另一种语言.
所以我的问题是,为什么PHP世界中没有人在做Java所做的事情?是否有一些动态元素确实需要每次重新编译或类似的东西?否则,在代码投入生产时编译所有内容然后只需使用它就会更加智能.
我真的不知道发生了什么事情与Eclipse 3.5(3.5.0或3.5.1,同样的问题),但是它已经2现在日子,我与Eclipse努力寻找一种方法,使通过插件安装工作"安装新软件屏幕"!!! 我访问了很多论坛和博客,尝试了许多解决方案,但都是徒劳的:每次当前问题都消失了,并且出现了新的问题.
我试图让它在我的办公室工作,所以在代理后面.到目前为止,我得到的最好建议是关于NTLM代理的已知问题:http://wiki.eclipse.org/ECF_Filetransfer_Support_for_NTLMv2_Proxies.我提供了提示,但现在我有一条新的错误消息:Eclipse根本找不到存储库...例如,这是我现在使用Galileo更新站点本身得到的信息:
org.eclipse.equinox.internal.provisional.p2.core.ProvisionException: No repository found at http://download.eclipse.org/releases/galileo.
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:380)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:606)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:88)
at org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil.loadMetadataRepository(ProvisioningUtil.java:88)
at org.eclipse.equinox.internal.provisional.p2.ui.QueryableMetadataRepositoryManager.doLoadRepository(QueryableMetadataRepositoryManager.java:55)
at org.eclipse.equinox.internal.provisional.p2.ui.QueryableRepositoryManager.loadRepository(QueryableRepositoryManager.java:195)
at org.eclipse.equinox.internal.provisional.p2.ui.QueryableRepositoryManager.loadAll(QueryableRepositoryManager.java:108)
at org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler$2.run(PreloadingRepositoryHandler.java:71)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Run Code Online (Sandbox Code Playgroud)
与Samething http://download.eclipse.org/eclipse/updates/3.5,或http://download.eclipse.org/tools/mylyn/update/e3.4/和任何网站:没有人的作品.
请有人帮忙!
PS:下面有一些细节:
我也有与第三方软件相同的问题...例如:http://www.epic-ide.org/updates/testing/site.xml ....同样的错误消息.
如果我转到"首选项">"安装/更新">"可用软件站点",请单击任何站点,在"测试连接"上,我会收到包含此错误消息的ProvisionException(当我单击详细信息时):
无法在http://download.eclipse.org/technology/epp/packages/galileo/site.xml上读取存储库.无法在http://download.eclipse.org/technology/epp/packages/galileo/site.xml上读取存储库.服务器重定向次数太多(20)
解决方案是:
在您的eclipse.ini
文件中添加以下行(之前-vmargs
):(在3.5; 3.5.1; 3.6.2上验证)
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient
-Dhttp.proxyPort=8080
-Dhttp.proxyHost=myproxy
-Dhttp.proxyUser=mydomain\myusername
-Dhttp.proxyPassword=mypassword
-Dhttp.nonProxyHosts=localhost|127.0.0.1
Run Code Online (Sandbox Code Playgroud) 假设你有一个名为的项目proj
,在这个项目中你有以下结构:
proj/
dists/
doc/
src/
__init__.py
xyz.py
abc.py
test/
setup.py
Run Code Online (Sandbox Code Playgroud)
如您所见,项目的所有内容都在src
子文件夹中.如何从src
文件夹中制作distutils发行包?
我的天真想法,按照教程,将编写setup.py
如下:
#omitting basics
setup(
name='proj',
packages=['src'],
package_dir={'proj':'src'}
)
Run Code Online (Sandbox Code Playgroud)
但是在将生成的软件包安装到我的系统之后,我仍然需要导入src.xyz
而不是导入proj.xyz
,这将是目标和预期的结果.
python ×4
android ×1
apc ×1
c++ ×1
configure ×1
distutils ×1
eclipse ×1
eclipse-3.5 ×1
formatting ×1
git ×1
gitignore ×1
ide ×1
iostream ×1
java ×1
jenkins ×1
junit ×1
make-install ×1
makefile ×1
php ×1
python-2.7 ×1
string ×1
unit-testing ×1
unix ×1
xunit ×1