Make TortoiseHG use my Python installation

人盡茶涼 提交于 2019-12-11 23:32:15

问题


I created some python hooks for Mercurial that use some external libraries (namely jira-python). In Linux, I install the packages using pip. In Windows, however, Mercurial comes with a bundled version of Python. My hooks fail when I run them because the external packages are not installed.

I want to make Mercurial / TortoiseHG use my Python installation so I can control its environment. How can I do that?


回答1:


You can install Mercurial package for Python:

  • Mercurial 2.4 Python 2.7 package - x86 Windows
  • Mercurial 2.4 Python 2.7 package - x64 Windows

For TortoiseHG-specific details I can suggest to inspect %TortoiseHg%\library.zip - it contains (some? all?) needed for TortoiseHG|Mercurial Python's modules, which list you can (try) to extend: "in Where is the Python path for TortoiseHG?" topic Steve Borho wrote:

TortoiseHg's entire python environment is contained within the library.zip that comes packaged with it.

What I suspect you can do is add a line or two to the top of your reviewboard extension file to add your installed python path to sys.path before trying to import simplejson

Hint for adding python path to sys.path is applicable for you too

Recommendation from Convert Extension page

you'll need to use a Mercurial installed on top of a stand-alone Python, and you may also need to do something like

set HG=python c:\Python25\Scripts\hg

to override the default Win32 binaries if you have those installed also




回答2:


I have Mercurial installed through pip, and I also have TortoiseHg. My system path selects the Python version first.

I renamed C:\Program Files\TortoiseHg\hg.exe to something else, and then ran TortoiseHg. Everything still worked, but I haven't got a good way of verifying it does what you want. You can give it a shot.



来源:https://stackoverflow.com/questions/13685159/make-tortoisehg-use-my-python-installation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!