Waitress通过pip安装,但是无法执行
Waitress installed via pip, but cannot be executed
总的来说,pip 在我的服务器上运行良好。我刚刚安装了软件包 waitress
,安装似乎成功了。我用 pip freeze
:
检查了它
$ pip freeze | grep waitress
waitress==2.1.0
女服务员也可以通过python3导入:
>>> import waitress
>>>
但是waitress-serve
无法执行:
$ waitress-serve
Command 'waitress-serve' not found, but can be installed with:
apt install python3-waitress
Please ask your administrator.
我不是此服务器上的根用户。这可能是包被部分安装的原因,还是我在这里推测?
因为我没有被授权 运行 apt install
并且因为简单的 pip
安装在我的 virtualenv 中工作,我希望能够在不使用建议 apt install python3-waitress
命令。
如果 waitress
安装在虚拟环境中,我想你可能不小心(或没有)脱离了虚拟环境。
如果你是运行虚拟环境,可以依次尝试以下命令:
source venv/bin/activate #venv is assumed to be the name of the virtual environment you are using.
pip install waitress
waitress-serve
任何时候你需要使用女服务员,你都需要再次激活虚拟环境:
source venv/bin/activate
waitress-serve
请注意,我假设您 运行 在 Linux 环境中
如果这不是您面临的问题,请随时详细说明您的问题。
编辑:使用 pip 和 运行 安装它在我的 virtualenv 上完美运行;见下图,运行 on python 3.8.10
The conclusion is that, while it is installed both inside and outside virtualenv, it is only actually executable inside it.
当可安装的 Python 软件包为您提供一个实际的入口点时,通常它 不会 在您的路径上。
当您使用虚拟环境时,激活环境会将该环境的各个部分暂时放到路径上。这是为了确保像 python
或 python3
运行 环境的 Python 这样的命令,但它也允许在路径上找到这些入口点。
系统 Python 安装(这里我的意思是,不仅是操作系统附带的 Python,还包括事后手动安装的 not 虚拟环境)默认情况下通常不会在路径上包含其库文件夹 - 仅足以使 python
和 pip
工作。 (在 Windows 上,通常甚至这些都没有添加到路径中;相反,一个程序 py
被放置在 Windows 安装文件夹中,它完成寻找 Python 可执行文件。)即使您被允许将东西直接安装到系统中 Python(如果可以避免,您通常不应该这样做,即使您被允许这样做),它们也不会可找到那里。
当然,您可以通过显式指定它们的路径来很好地执行这些操作。但是,通常正确的方法是确保当您想要 运行 程序时,激活安装软件包的虚拟环境。
(在我的系统上,我有一个用于所有项目的主要“沙盒”虚拟环境 - 除非我专门测试安装过程,或者测试代码如何在不同版本的 Python。然后我使用包装脚本打开终端 window,导航到包含我所有项目的文件夹,并激活环境。)
总的来说,pip 在我的服务器上运行良好。我刚刚安装了软件包 waitress
,安装似乎成功了。我用 pip freeze
:
$ pip freeze | grep waitress
waitress==2.1.0
女服务员也可以通过python3导入:
>>> import waitress
>>>
但是waitress-serve
无法执行:
$ waitress-serve
Command 'waitress-serve' not found, but can be installed with:
apt install python3-waitress
Please ask your administrator.
我不是此服务器上的根用户。这可能是包被部分安装的原因,还是我在这里推测?
因为我没有被授权 运行 apt install
并且因为简单的 pip
安装在我的 virtualenv 中工作,我希望能够在不使用建议 apt install python3-waitress
命令。
如果 waitress
安装在虚拟环境中,我想你可能不小心(或没有)脱离了虚拟环境。
如果你是运行虚拟环境,可以依次尝试以下命令:
source venv/bin/activate #venv is assumed to be the name of the virtual environment you are using.
pip install waitress
waitress-serve
任何时候你需要使用女服务员,你都需要再次激活虚拟环境:
source venv/bin/activate
waitress-serve
请注意,我假设您 运行 在 Linux 环境中
如果这不是您面临的问题,请随时详细说明您的问题。
编辑:使用 pip 和 运行 安装它在我的 virtualenv 上完美运行;见下图,运行 on python 3.8.10
The conclusion is that, while it is installed both inside and outside virtualenv, it is only actually executable inside it.
当可安装的 Python 软件包为您提供一个实际的入口点时,通常它 不会 在您的路径上。
当您使用虚拟环境时,激活环境会将该环境的各个部分暂时放到路径上。这是为了确保像 python
或 python3
运行 环境的 Python 这样的命令,但它也允许在路径上找到这些入口点。
系统 Python 安装(这里我的意思是,不仅是操作系统附带的 Python,还包括事后手动安装的 not 虚拟环境)默认情况下通常不会在路径上包含其库文件夹 - 仅足以使 python
和 pip
工作。 (在 Windows 上,通常甚至这些都没有添加到路径中;相反,一个程序 py
被放置在 Windows 安装文件夹中,它完成寻找 Python 可执行文件。)即使您被允许将东西直接安装到系统中 Python(如果可以避免,您通常不应该这样做,即使您被允许这样做),它们也不会可找到那里。
当然,您可以通过显式指定它们的路径来很好地执行这些操作。但是,通常正确的方法是确保当您想要 运行 程序时,激活安装软件包的虚拟环境。
(在我的系统上,我有一个用于所有项目的主要“沙盒”虚拟环境 - 除非我专门测试安装过程,或者测试代码如何在不同版本的 Python。然后我使用包装脚本打开终端 window,导航到包含我所有项目的文件夹,并激活环境。)