杂题汇总
git崩溃问题
对象文件为空,导致崩溃
object file .git/objects/XX/XXXXXXXX is empty
fatal: loose object XXXXXXXXXXXX is corrupt
git的所有命令都无法正常工作解决方法:
首先备份下原先的.git文件。cp .git/ .git-old,然后:
find .git/objects/ -type f -empty | xargs rm
git fetch -p
git fsck --full
This will first remove any empty object files that cause corruption of the repository as a whole, and then fetch down the missing objects(as well as latest changes) from the remote repository, and then do a full object store check. Which, at this point, should succeed without any errors (there may be still some warnings though!)
问题确认搞定后,删除原先的备份文件.git-old
一个电脑同时使用多个Git账号
主要的需求是同一个电脑上要链接多个Git服务器,也就是不同的email的ssh key要分别和相应的Git服务器相连接。
比如我现在通过私人的email ID已经和Github建立了ssh授权关系,将~/.ssh/id_rsa.pub的内容加到了github的SSH keys中。那么接下来我需要再添加一个公司的email ID绑定到公司的Git服务器上。
首先参考:一台电脑绑定两个github帐号教程
其中需要注意的是:
IntelliJ IDEA 2017注册码失效
还是在lanyu的网站上下载破解补丁:JetbrainsCrack-2.6.2.jar
然后在安装目录,比如我的目录C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.1\bin下面找到两个文件
在这两个文件中添加-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.1\bin\JetbrainsCrack-2.6.2.jar-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.1\bin\JetbrainsCrack-2.6.2.jar
添加完毕后,再打开软件IDEA,再选择输入code,把上面这个再copy进去点击ok就可以了。
Windows下运行Spark的程序,报错
找不到\winutils.exe
这个可以参考
主要的解决方法就是先在GitHub上下载github.com/srccodes/hadoop-common-2.2.0-bin,然后设置下环境变量。其中环境变量的设置有两种方法,一个是常用的在我的电脑中右键配置。另一个是在代码里面加入下面这条语句,从学习别人的解决方法还得到一条,可以在Hadoop的代码中加断点来去看细节的运行情况。
System.setProperty("hadoop.home.dir", "C:\\hadoop-common-2.2.0-bin-master");
另外还有个地方需要注意下,虽然这两种方法都能解决问题,但是,第一种手动在windows中配置修改后,记得要重启cmd命令框,或者正在使用的IDE,比我就是在使用IDEA时遇到这个问题,按照上面的操作反复添加后发现还是不行,其实是需要关闭再打开IDEA让新配置的环境变量在IDEA中生效下。这个需要额外注意下,其他都很简单了。
Pycharm能运行但是不能Debug
显示诸如:
ImportError: No module named '_pydevd_bundle.pydevd_cython'
这样的错误。
其中原因很简单,是因为我们自己的代码在命名module的时候误将code作为了最顶层的模块名字,导致Pycharm在debug时调用自己的库时遇到冲突导致出错。
The problem here is that your code top level package shadows the top level code package required by the console.
The code module is a top level standard Python module so you should probably rename your package to avoid clashing with it.
解决方法就是将我们自己的代码中的最顶层的module:code,改名为其他名词,比如:MyCodes等等。