我正在尝试使用setuptools将Python项目放入tarball中.问题是setuptools似乎不喜欢源树最初设置的方式(不是我,我必须添加).我实际想要分发的所有内容都在顶级目录中,而不是像setuptools docs谈论的子目录中那样.
树有一个目录,tests我不想在已发布的包中拥有该目录.然而,使用exclude_package_data似乎并没有实际排除,我想弄清楚我做错了什么.
我setup.py看起来像这样,在相关部分:
setup(
name="project",
packages=[''],
include_package_data=True,
exclude_package_data={'': ['tests']},
test_suite='nose.collector',
)
Run Code Online (Sandbox Code Playgroud) 我正在为Android开发一个应用程序,我认为它的功能在其他(Java运行)平台上可能很有用(比如一个普通的桌面应用程序 - 虽然我希望所涉及的其他平台对我来说并不重要)手头的问题).
用户界面不太可能以任何方式移植(在具有良好触控功能,4英寸屏幕用户界面和鼠标和键盘19英寸屏幕用户界面之间存在太大差异),所以我很高兴重新实现分别.
然而,理论上,核心"业务逻辑"(呃,可怕的词)和模型(数据存储)类可以在管理核心应用程序时重用.我注意到我写的很多类都没有最终引用一些特定于Android的位(我有XML资源文件,图像和SQLite数据库,例如).基本上我到目前为止所写的一切至少有一个与Android相关的导入.
我的问题是双重的:
只要提供了一些理由,包含"哈哈哈哈,你注定失败"的答案都可以.
(PS我会创建这个社区wiki,如果它仍然可用;这对我来说似乎是一个完美的CW问题 - Android可移植性提示和工具列表)
我正在仔细阅读 Rust 书,并学习 Cargo。在格式的描述中Cargo.toml,似乎要求您将当前正在处理或最近发布的版本硬编码到该文件中,该文件已签入修订控制。由于任何理智的人都会标记他们的版本,这意味着版本信息是重复的,我们都知道在两个地方拥有相同的信息是多么糟糕的主意。
鉴于 Cargo 在版本控制问题上似乎有着令人钦佩的固执己见(在 上创建 git 存储库cargo new),我有点惊讶的是我找不到一种方法来告诉 Cargo,“从存储库中带注释的标签中获取版本信息” 。我是否遗漏了某些东西,或者这是 Cargo 完全缺失的功能?
我正在使用带有单个"帐户"表的STI模型来保存用户和技术人员的信息(即用户<帐户,技术人员<帐户).一切都从功能的角度来看,但是在运行单元测试时会发生爆炸:
... 8)错误:test_the_truth(UserTest):ActiveRecord :: StatementInvalid:PGError:错误:关系"技术人员"不存在:删除"技术人员"......
从本质上讲,标准框架不承认技术人员和用户表(或PostgreSQL称之为"关系")不存在,实际上应该为帐户别名.
有任何想法吗?我对RoR比较陌生,我不知道怎么解决这个问题而不是一起扯掉STI.
ruby postgresql unit-testing ruby-on-rails single-table-inheritance
我在安永的rails部署上遇到了一些大问题.支持说我需要SSH来清除错误......但我得到以下内容:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
80:4c:5f:dd:98:bb:cb:01:6c:a9:11:41:29:56:66:86.
Please contact your system administrator.
Add correct host key in /Users/jameshughes/.ssh/known_hosts to get rid of this message.
Offending key in /Users/jameshughes/.ssh/known_hosts:1
RSA host key …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用一个拥有任何实现std::io::Write写入的所有权的板条箱,但我想获取它写入内存中的数据以进行进一步处理,而不是直接将其写入磁盘。如果相关的话,我尝试使用的板条箱是ciborium 。
我最接近成功的方法是传入 a&mut [u8]作为作者,就像这个一般问题的玩具演示一样:
use std::io::Write;
fn write_stuff<W: Write>(mut w: W) {
w.write_all(b"Hello\0Rust!").unwrap();
}
fn main() {
let mut v = [0u8; 20];
write_stuff(&mut v[..]);
dbg!(v);
}
Run Code Online (Sandbox Code Playgroud)
这是可行的,因为我可以看到已读取的字节,但有一个相当痛苦的缺陷,即我无法判断实际写入切片的数据量。对于我的情况来说,这是一个严重的问题,因为被序列化的数据很可能包含0字节(以及任何其他值)。
我尝试过的任何跟踪写入字节数的方法(如Vec<u8>、Cursor等)都无法告诉我,调用者,写入了多少字节,因为我调用的函数拥有该值的所有权,所以任何事情之后,调用者违反了所有权规则。
目前,我能想到的最糟糕的选择,除了修改ciborium(或更激烈的选择,比如大量的指针破坏不安全代码)是创建一个管道,将写入器的一半传递给ciborium,然后从读者一半。这是……可怕的。
我是否错过了一些非常明显的东西,或者我在这里完全不走运?
rust ×2
android ×1
docker ×1
engineyard ×1
java ×1
portability ×1
postgresql ×1
python ×1
ruby ×1
rust-cargo ×1
setuptools ×1
ssh ×1
udp ×1
unit-testing ×1