【问题标题】:WRN Install python-prctl so that processes can be cleaned with guaranteeWRN 安装 python-prctl 以便保证可以清理进程
【发布时间】:2018-10-26 10:50:50
【问题描述】:

我收到此警告“警告安装 python-prctl,以便可以保证清理进程。”虽然我已经从this 站点安装了“python-prctl”。但是仍然收到此警告,我正在使用 tensorpack 通过 data_generator 快速加载数据。

我正在使用 python3,我已经附上了上面那个警告的图片。

我不知道为什么会出现此错误? 实际上,我专门为这个数据生成器使用了 tensorpack,因为它有一些特殊的功能可以快速加载数据。

【问题讨论】:

    标签: python-3.x tensorflow


    【解决方案1】:

    哦,一个三年前的问题。我假设你已经解决了它,但我会告诉你我是怎么做到的。

    这个警告意味着没有找到包,它是由这个函数生成的: enable_death_signal(_warn=True)

    https://tensorpack.readthedocs.io/en/latest/_modules/tensorpack/utils/concurrency.html

    我的工作需要使用 Python 3.7,所以我安装了:

    sudo apt-get install python3.7-dev libcap-dev python3-setuptools

    如果您使用不同版本的 Python,只需将 python3.7-dev 更改为 python3.9-dev,例如 python3-dev。

    然后,按照官网的说明进行操作:

    现在,您需要找到软件包的安装位置。 对我来说,他们在

    /usr/local/lib/python3.7/dist-packages/python_prctl-1.8.1-py3.7-linux-x86_64.egg/
    

    此目录必须包含:

    • _prctl.cpython-37m-x86_64-linux-gnu.so
    • _prctl.py
    • prctl.py

    现在,在这个目录中打开一个终端并测试: python3.7 -c "import prctl; print(prctl)"

    如果没有发现问题,请转到任何其他目录并再次测试。 如果失败,请测试:

    python3.7 -c "import sys; sys.path.append('/usr/local/lib/python3.7/dist-packages/python_prctl-1.8.1-py3.7-linux-x86_64.egg/'); import prctl; print(prctl); print(sys.version_info)"
    

    必须打印:

    <module 'prctl' from '/usr/local/lib/python3.7/dist-packages/python_prctl-1.8.1-py3.7-linux-x86_64.egg/prctl.py'>
    sys.version_info(major=3, minor=7, micro=10, releaselevel='final', serial=0)
    

    如果可行,您需要在导入 prctl 的代码中添加它:

    import sys
    sys.path.append('/usr/local/lib/python3.7/dist-packages/python_prctl-1.8.1-py3.7-linux-x86_64.egg/')
    

    【讨论】:

      猜你喜欢
      • 2019-02-28
      • 2018-11-30
      • 2017-02-20
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 2015-09-10
      • 2012-05-14
      • 2016-09-28
      相关资源
      最近更新 更多