WRN安装python-prctl,以便可以保证清除进程

时间:2018-10-26 10:50:50

标签: python-3.x tensorflow

我收到此警告“ WRN安装python-prctl,以便可以保证清除进程。”尽管我已经从this网站安装了“ python-prctl”。但仍然收到此警告,我正在使用tensorpack通过使用data_generator快速加载数据。enter image description here

我正在使用python3,我已在警告上方附加了图像。

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

1 个答案:

答案 0 :(得分:0)

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

这个警告表示没有找到包,它是由这个函数生成的: 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/')