哦,一个三年前的问题。我假设你已经解决了它,但我会告诉你我是怎么做到的。
这个警告意味着没有找到包,它是由这个函数生成的:
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/')