我知道有一些工具可以验证你的Python代码是否符合PEP8,例如,有一个在线服务和一个python模块.
但是,我找不到可以将我的Python文件转换为自包含的PEP8有效Python文件的服务或模块.有谁知道有没有?
我认为这是可行的,因为PEP8完全是关于代码的外观,对吗?
有没有PATH办法使用python以独立于平台的方式修改环境变量?
类似的东西os.path.join()?
我正在寻找减少git存储库大小的方法.搜索引导我到git gc --aggressive大多数时间.我还读到这不是首选方法.
为什么?如果我跑步,我应该注意什么gc --aggressive?
git repack -a -d --depth=250 --window=250推荐结束gc --aggressive.为什么?如何repack减少存储库的大小?此外,我不太清楚旗帜--depth和--window.
我应该怎么选择gc和repack?什么时候应该使用gc和repack?
我对拥有数百万个节点和数千万个边缘的大型网络进行网络分析感兴趣.我希望能够执行诸如从多种格式解析网络,查找连接组件,检测社区以及运行像PageRank这样的中心度量之类的事情.
我被NetworkX所吸引,因为它有一个很好的api,良好的文档,并且多年来一直在积极开发.另外,因为它是在python中,它应该快速开发.
在最近的一个演示文稿中(幻灯片可以在github上找到),它声称:
与许多其他工具不同,NX旨在处理与现代问题相关的规模数据...... NX中的大多数核心算法都依赖于极快的遗留代码.
该演示文稿还指出NetworkX的基本算法是在C/Fortran中实现的.
但是,看一下源代码,看起来NetworkX主要是用python编写的.我对源代码不太熟悉,但我知道有几个例子,其中NetworkX使用numpy进行繁重的提升(后者又使用C/Fortran进行线性代数).例如,该文件networkx/networkx/algorithms/centrality/eigenvector.py使用numpy来计算特征向量.
有没有人知道这种调用优化库如numpy的策略是否在整个NetworkX中非常流行,或者只是少数算法呢?任何人都可以描述与NetworkX相关的其他可扩展性问题吗?
来自NetworkX首席程序员的回复 我在NetworkX邮件列表上提出了这个问题,Aric Hagberg回答说:
NetworkX中使用的数据结构适合于扩展到大问题(例如,数据结构是邻接列表).算法具有各种缩放属性,但您提到的一些属性是可用的(例如,PageRank,连接的组件,边缘数量是线性复杂度).
此时,NetworkX是纯Python代码.邻接结构使用Python字典编码,以牺牲内存和计算速度为代价提供了极大的灵活性.大图会占用大量内存,最终会耗尽.
NetworkX确实将NumPy和SciPy用于主要基于线性代数的算法.在那种情况下,使用NumPy矩阵或SciPy稀疏矩阵将图表表示(复制)为邻接矩阵.这些算法可以受益于NumPy和SciPY中使用的传统C和FORTRAN代码.
我用Google搜索了很多但却找不到它.我想知道random.sample()方法的用法以及它给出了什么?什么时候应该使用它和一些示例用法.
在C#我会去:
string UserName;
string Password;
Run Code Online (Sandbox Code Playgroud)
但现在,在Python中:
class User:
UserName
Password
Run Code Online (Sandbox Code Playgroud)
我收到一个UserName未定义的错误.没有变量我可以声明变量吗?
我正在setup.py寻找包含非python文件的各种选项,并且它们不那么直观.我希望能够检查生成的包bdist_wheel,看看它实际上是什么 - 不是为了确保它能够工作(这是测试的用途),而是看看我设置的选项的效果.
如何列出包含在的文件.whl?
我正在生成一个git补丁.然后我想将它发送给项目维护者.
我想signed-off-by在git补丁中标记我的姓名和电子邮件地址
怎么做 ?为了让项目维护者获得signed-off-by带有我的姓名和电子邮件地址的字段.
轮子在鸡蛋上的优势很明显(参见为什么不用鸡蛋?https://pypi.python.org/pypi/wheel).
然而,我并不完全清楚使用车轮的优点是什么tar.gz.我可能会遗漏一些明显的东西,比如"它们是一样的".我认为它们都可以直接使用pip(即使在Windows中),具有相似的尺寸,并且在打包时需要类似的工作.听起来像是在证明包装方法论时可能遇到的问题.
编辑:刚刚找到一个tar.gz可能比轮子更好的例子.CherryPy(https://pypi.python.org/pypi/CherryPy)仅为Python 3.x提供轮子,所以如果你想拥有一个本地存储库来为Python 2.7和3.x依赖项提供CherryPy,它似乎是存储tarball更有意义.它是否正确?(只是为讨论添加一些"基于案例"的理由)