相关疑难解决方法(0)

如何在C中找到可执行文件的位置?

在C/C++中是否有办法找到当前执行程序的位置(完整路径)?

(问题argv[0]在于它没有给出完整的路径.)

c c++ unix linux path

140
推荐指数
6
解决办法
7万
查看次数

运行'sudo pip'有什么风险?

偶尔我碰上评论或回应表示国家重点跑跑pipsudo是"错误"或"坏",但也有例(其中我有一堆的设置工具的方式),其中它要么是简单得多,或者甚至是必要的以这种方式运行.

什么是与运行相关的风险pipsudo


请注意,这与问题的问题不同,尽管标题不提供有关风险的信息.这也不是关于如何避免使用的问题sudo,而是关于人们想要的具体原因.

python security sudo pip

89
推荐指数
3
解决办法
4万
查看次数

virtualenv中的Python easy_install给出了setuptools错误

还有许多类似于此问题的其他StackOverflow问题,但在每种情况下,平台都不同或错误消息不同或解决方案没有效果或过时.我正在尝试设置Python 2.7.6 virtualenv并在其中安装模块,但easy_install给出了错误,指示setuptools不可用.但是AFAIK easy_install是setuptools的一部分,所以这没有任何意义.

问题只发生在virtualenv中.这就是我所做的:

  • 创建了一个全新的Red Hat 5虚拟机
  • 做了yum -y update最新的东西,重新启动
  • 下载了Python-2.7.6.tar.gz,解压缩, ./configure; make; sudo make install
  • 确认python -V给了我2.7.6并sudo python -V给了我2.7.6
  • wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
  • 修改了ez_setup.py以将--no-check-certificate标志添加到wget以解决我们网络中的代理服务器问题
  • sudo python ez_setup.py
  • sudo easy_install pip
  • sudo pip install virtualenv
  • virtualenv virtpy
  • . virtpy/bin/activate
  • easy_install elementtree

除最后一个步骤外,所有这些步骤都成功,但失败的原因是:

Traceback (most recent call last):
  File "/home/gperrow/virtpy/bin/easy_install", line 7, in <module>
    from setuptools.command.easy_install import main
  File "/home/gperrow/virtpy/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 44, in <module>
    from setuptools.package_index import PackageIndex
  File "/home/gperrow/virtpy/lib/python2.7/site-packages/setuptools/package_index.py", line 203, in <module> …
Run Code Online (Sandbox Code Playgroud)

python pip virtualenv easy-install python-2.7

11
推荐指数
1
解决办法
6992
查看次数

sys.version_info 对于 Python 版本检查是否可靠?

如果我做了一个模块,我想作为在Python 3运行在Python 2相同,有一吨的选项包括sixfutures,和2to3。如果更改的数量很少,那么这些工具中的每一个都有足够的怪癖,我倾向于只为我的模块实际使用的少数不兼容功能编写兼容接口。

实现这一点的合理标准方法是使用简单的版本检查。

import module_bar

if sys.version_info >= (3,):
    uniformly_named_foo = module_bar.py3_thing
else:
    uniformly_named_foo = module_bar.py2_thing
Run Code Online (Sandbox Code Playgroud)

是否有任何奇怪的情况sys.version_info不会正确报告?过去,我已经被格式错误的路径、配置、安装、修改以及诸如此类的东西所困扰,以至于我觉得这不是我应该信任的事情。

当我们深入研究它时,我真正关心的是是否实现了特定功能。在 Web 开发中,嗅探用户代理通常被认为是一种不好的做法。相反,应该尽最大努力确定某个特定功能是否正在使用中。根据功能的不同,有很多方法可以实现这一点。

if hasattr(module_bar, 'py3_thing'):
    uniformly_named_foo = module_bar.py3_thing
else:
    uniformly_named_foo = module_bar.py2_thing
Run Code Online (Sandbox Code Playgroud)

在我的机器上,第二条路线慢两倍(对于一次性操作来说,额外的几百纳秒并不重要),但它似乎没有任何其他主要缺点。还是有优势?是否存在第二种方法会成功而第一种方法会失败的 Python 安装?

python python-2.7 python-3.x

8
推荐指数
1
解决办法
7971
查看次数

标签 统计

python ×3

pip ×2

python-2.7 ×2

c ×1

c++ ×1

easy-install ×1

linux ×1

path ×1

python-3.x ×1

security ×1

sudo ×1

unix ×1

virtualenv ×1