我正在尝试在 Debian 计算机上的用户帐户上安装 YouCompleteMe (YCM)。安装指南说我们需要 python-dev 才能使 YCM 工作:
sudo apt-get install python-dev
我的问题是:
如何在没有 sudo 访问权限的情况下安装 python-dev?我正在尝试在没有 root 访问权限的 debian 计算机上安装 YCM。
谢谢。
答案1
您的系统 Python 很可能不是 2.7 或 3.4 系列中的最新版本。所以你应该考虑安装最新的Python从源头。这可能会带来它自己的问题,因为-dev
在获得有用的 Python 之前必须安装应该安装的软件包的第一个问题:libreadline-dev
、libssl-dev
、libbz2-dev
、libexpat1-dev
、libsqlite3-dev
可能至少是您想要的,但您可能需要更多,也可能不需要所有这些。
- 当你运行时
./configure
忽略该--enable-shared
选项 - 之后
make
,一定要使用make altinstall
以免覆盖你的系统python
使用 2.7 和 3.4 系列的最新版本,您必须pip
确保使用该 pip(使用完整路径)来
- 自我升级(
/path/to/pip install -U pip
) - install
virtualenv
:pip install virtualenv
(在 3.4 上你也可以使用内置的东西)
现在您可以virtualenv
使用完整路径创建一个新的 virtualenv:
/path/to/virtualenv /some/other/path/venv
source /some/other/path/venv/bin/activate
现在您已经有了一个可以在其中安装 YCM 的 Python 环境,并且它与系统 Python 完全分开。您可以使用 pip 安装新元素(不需要任何路径,您将从/some/other/path/venv/bin/
刚刚安装的替代 python 中获取该元素,它具有通常单独提供的所有头文件python-dev
答案2
我刚刚为此目的制作了一个工具: https://github.com/z3r0n3t/pkget
她阅读了自述文件以获取更多信息。它非常容易使用,我希望这对某人有帮助。
包获取
使用此工具,您可以轻松地从 apt 存储库或任何其他 Debian 存储库安装软件包,无论您是否有 root 权限,并在您的主目录中对它们进行修改,而不会影响系统范围内的任何内容,您不必去搜索文件系统找到损坏的依赖项或通过脚本窥探以找到您要查找的内容
如何使用
使用它也非常简单,只需运行 setup.sh 将抓取文件移动到你的主目录并使其可执行,然后它会修改你的 $PATH 以允许运行已安装的工具而无需切换目录,因此你可以只运行“package_name”,而不是“./package_name”
完成此操作后,安装软件包就很容易了,只需 ./pkget “package_to_install”
例子
./pkget xonsh
用例
该工具主要针对 debian 软件包开发人员等,但也考虑到安全人员的需要,该工具使那些获得服务器非 root 控制权但需要安装软件包的渗透测试人员变得容易,请永远使用此工具
#不要问
还
如果你喜欢它,请考虑盯着它并关注我:-) 对于更酷的东西,我有时有好主意