在MacOS中,WebBrowser打开功能不返回

发布于 2025-01-23 15:31:22 字数 8016 浏览 3 评论 0原文

我想使用此简单的Python脚本打开Web浏览器选项卡:

import webbrowser

print('About to open')
webbrowser.open('http://google.fr')
print('Opened')

当我在MacOS终端尝试时,该选项卡会正确打开,但脚本不会返回:

> python test.py           
About to open

当我最终用'ctrl-c中断终端时,我就会获得这个堆栈:

^CTraceback (most recent call last):
  File "/Users/florianbaune/Forge/freya/test.py", line 4, in <module>
    webbrowser.open('http://google.fr')
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/webbrowser.py", line 86, in open
    if browser.open(url, new, autoraise):
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/webbrowser.py", line 688, in open
    rc = osapipe.close()
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/os.py", line 1004, in close
    returncode = self._proc.wait()
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/subprocess.py", line 1204, in wait
    return self._wait(timeout=timeout)
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/subprocess.py", line 1938, in _wait
    (pid, sts) = self._try_wait(0)
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/subprocess.py", line 1896, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
KeyboardInterrupt

我与iPykernel具有相同的行为。 该功能通过我以前的配置(Linux / Intel)正确返回。

配置: Macos Monterey,Apple M1 Pro

Python/Conda Env:

# Name                    Version                   Build  Channel
appnope                   0.1.2                    pypi_0    pypi
asttokens                 2.0.5              pyhd3eb1b0_0  
backcall                  0.2.0              pyhd3eb1b0_0  
beautifulsoup4            4.9.3              pyhb0f4dca_0    anaconda
blas                      1.0                         mkl    anaconda
bottleneck                1.3.4                    pypi_0    pypi
brotli                    1.0.9                h5eb16cf_7    conda-forge
brotli-bin                1.0.9                h5eb16cf_7    conda-forge
bzip2                     1.0.8                h1de35cc_0  
ca-certificates           2020.10.14                    0    anaconda
certifi                   2021.10.8                pypi_0    pypi
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
dateparser                1.1.1              pyhd8ed1ab_0    conda-forge
debugpy                   1.5.1                    pypi_0    pypi
decorator                 5.1.1              pyhd3eb1b0_0  
entrypoints               0.3                      pypi_0    pypi
executing                 0.8.3              pyhd3eb1b0_0  
fonttools                 4.32.0                   pypi_0    pypi
freetype                  2.10.4               h4cff582_1    conda-forge
giflib                    5.2.1                hbcb3906_2    conda-forge
intel-openmp              2021.4.0          hecd8cb5_3538  
ipykernel                 6.9.1                    pypi_0    pypi
ipython                   8.2.0                    pypi_0    pypi
jbig                      2.1               h0d85af4_2003    conda-forge
jedi                      0.18.1                   pypi_0    pypi
jpeg                      9e                   h0d85af4_0    conda-forge
jupyter-core              4.9.2                    pypi_0    pypi
jupyter_client            7.1.2              pyhd3eb1b0_0  
jupyter_core              4.9.2           py310hecd8cb5_0  
kiwisolver                1.3.1                    pypi_0    pypi
lcms2                     2.12                 h577c468_0    conda-forge
lerc                      2.2.1                h046ec9c_0    conda-forge
libbrotlicommon           1.0.9                h5eb16cf_7    conda-forge
libbrotlidec              1.0.9                h5eb16cf_7    conda-forge
libbrotlienc              1.0.9                h5eb16cf_7    conda-forge
libcxx                    12.0.0               h2f01273_0  
libdeflate                1.7                  h35c211d_5    conda-forge
libffi                    3.3                  hb1e8313_2  
libpng                    1.6.37               h7cec526_2    conda-forge
libsodium                 1.0.18               h1de35cc_0  
libtiff                   4.3.0                h1167814_1    conda-forge
libwebp                   1.2.2                h28dabe5_0    conda-forge
libwebp-base              1.2.2                h0d85af4_1    conda-forge
lz4-c                     1.9.3                he49afe7_1    conda-forge
matplotlib                3.5.1                    pypi_0    pypi
matplotlib-base           3.5.1           py310hfc59cd6_0    conda-forge
matplotlib-inline         0.1.2              pyhd3eb1b0_2  
mkl                       2021.4.0           hecd8cb5_637  
mkl-fft                   1.3.1                    pypi_0    pypi
mkl-random                1.2.2                    pypi_0    pypi
mkl-service               2.4.0                    pypi_0    pypi
mkl_fft                   1.3.1           py310hf879493_0  
mkl_random                1.2.2           py310hc081a56_0  
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
ncurses                   6.3                  hca72f7f_2  
nest-asyncio              1.5.5                    pypi_0    pypi
numexpr                   2.8.1                    pypi_0    pypi
numpy                     1.21.5                   pypi_0    pypi
numpy-base                1.21.5          py310hfd2de13_1  
openssl                   1.1.1n               h6c3fc93_0    conda-forge
packaging                 20.4                       py_0    anaconda
pandas                    1.4.1                    pypi_0    pypi
parso                     0.8.3              pyhd3eb1b0_0  
pexpect                   4.8.0              pyhd3eb1b0_3  
pickleshare               0.7.5           pyhd3eb1b0_1003  
pillow                    9.0.1                    pypi_0    pypi
pip                       21.2.4                   pypi_0    pypi
prompt-toolkit            3.0.20             pyhd3eb1b0_0  
ptyprocess                0.7.0              pyhd3eb1b0_2  
pure_eval                 0.2.2              pyhd3eb1b0_0  
pygments                  2.11.2             pyhd3eb1b0_0  
pyparsing                 2.4.7                      py_0    anaconda
python                    3.10.4               hdfd78df_0  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-tzdata             2022.1             pyhd8ed1ab_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pytz                      2020.1                     py_0    anaconda
pytz-deprecation-shim     0.1.0.post0              pypi_0    pypi
pyzmq                     22.3.0                   pypi_0    pypi
readline                  8.1.2                hca72f7f_1  
regex                     2021.8.3                 pypi_0    pypi
setuptools                61.2.0                   pypi_0    pypi
six                       1.16.0             pyhd3eb1b0_1  
soupsieve                 2.0.1                      py_0    anaconda
sqlite                    3.38.2               h707629a_0  
stack_data                0.2.0              pyhd3eb1b0_0  
tk                        8.6.11               h7bc2e8c_0  
tornado                   6.1                      pypi_0    pypi
traitlets                 5.1.1              pyhd3eb1b0_0  
tzdata                    2022a                hda174b7_0  
tzlocal                   4.2                      pypi_0    pypi
unicodedata2              14.0.0                   pypi_0    pypi
wcwidth                   0.2.5              pyhd3eb1b0_0  
wheel                     0.37.1             pyhd3eb1b0_0  
xz                        5.2.5                h1de35cc_0  
zeromq                    4.3.4                h23ab428_0  
zlib                      1.2.11               h4dc903c_4  
zstd                      1.5.0                hcb37349_1  

I want to open a web browser tab with this simple python script:

import webbrowser

print('About to open')
webbrowser.open('http://google.fr')
print('Opened')

When I try it in my MacOS terminal, the tab is correctly opened but the script does not return:

> python test.py           
About to open

When I finally interrupt the terminal with 'ctrl-c', I obtain this stacktrace:

^CTraceback (most recent call last):
  File "/Users/florianbaune/Forge/freya/test.py", line 4, in <module>
    webbrowser.open('http://google.fr')
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/webbrowser.py", line 86, in open
    if browser.open(url, new, autoraise):
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/webbrowser.py", line 688, in open
    rc = osapipe.close()
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/os.py", line 1004, in close
    returncode = self._proc.wait()
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/subprocess.py", line 1204, in wait
    return self._wait(timeout=timeout)
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/subprocess.py", line 1938, in _wait
    (pid, sts) = self._try_wait(0)
  File "/opt/homebrew/anaconda3/envs/freya/lib/python3.10/subprocess.py", line 1896, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
KeyboardInterrupt

I have the same behaviour with an ipykernel.
The function was correctly returning with my previous configuration (Linux / Intel).

Configuration:
MacOS Monterey, Apple M1 Pro

Python/conda env:

# Name                    Version                   Build  Channel
appnope                   0.1.2                    pypi_0    pypi
asttokens                 2.0.5              pyhd3eb1b0_0  
backcall                  0.2.0              pyhd3eb1b0_0  
beautifulsoup4            4.9.3              pyhb0f4dca_0    anaconda
blas                      1.0                         mkl    anaconda
bottleneck                1.3.4                    pypi_0    pypi
brotli                    1.0.9                h5eb16cf_7    conda-forge
brotli-bin                1.0.9                h5eb16cf_7    conda-forge
bzip2                     1.0.8                h1de35cc_0  
ca-certificates           2020.10.14                    0    anaconda
certifi                   2021.10.8                pypi_0    pypi
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
dateparser                1.1.1              pyhd8ed1ab_0    conda-forge
debugpy                   1.5.1                    pypi_0    pypi
decorator                 5.1.1              pyhd3eb1b0_0  
entrypoints               0.3                      pypi_0    pypi
executing                 0.8.3              pyhd3eb1b0_0  
fonttools                 4.32.0                   pypi_0    pypi
freetype                  2.10.4               h4cff582_1    conda-forge
giflib                    5.2.1                hbcb3906_2    conda-forge
intel-openmp              2021.4.0          hecd8cb5_3538  
ipykernel                 6.9.1                    pypi_0    pypi
ipython                   8.2.0                    pypi_0    pypi
jbig                      2.1               h0d85af4_2003    conda-forge
jedi                      0.18.1                   pypi_0    pypi
jpeg                      9e                   h0d85af4_0    conda-forge
jupyter-core              4.9.2                    pypi_0    pypi
jupyter_client            7.1.2              pyhd3eb1b0_0  
jupyter_core              4.9.2           py310hecd8cb5_0  
kiwisolver                1.3.1                    pypi_0    pypi
lcms2                     2.12                 h577c468_0    conda-forge
lerc                      2.2.1                h046ec9c_0    conda-forge
libbrotlicommon           1.0.9                h5eb16cf_7    conda-forge
libbrotlidec              1.0.9                h5eb16cf_7    conda-forge
libbrotlienc              1.0.9                h5eb16cf_7    conda-forge
libcxx                    12.0.0               h2f01273_0  
libdeflate                1.7                  h35c211d_5    conda-forge
libffi                    3.3                  hb1e8313_2  
libpng                    1.6.37               h7cec526_2    conda-forge
libsodium                 1.0.18               h1de35cc_0  
libtiff                   4.3.0                h1167814_1    conda-forge
libwebp                   1.2.2                h28dabe5_0    conda-forge
libwebp-base              1.2.2                h0d85af4_1    conda-forge
lz4-c                     1.9.3                he49afe7_1    conda-forge
matplotlib                3.5.1                    pypi_0    pypi
matplotlib-base           3.5.1           py310hfc59cd6_0    conda-forge
matplotlib-inline         0.1.2              pyhd3eb1b0_2  
mkl                       2021.4.0           hecd8cb5_637  
mkl-fft                   1.3.1                    pypi_0    pypi
mkl-random                1.2.2                    pypi_0    pypi
mkl-service               2.4.0                    pypi_0    pypi
mkl_fft                   1.3.1           py310hf879493_0  
mkl_random                1.2.2           py310hc081a56_0  
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
ncurses                   6.3                  hca72f7f_2  
nest-asyncio              1.5.5                    pypi_0    pypi
numexpr                   2.8.1                    pypi_0    pypi
numpy                     1.21.5                   pypi_0    pypi
numpy-base                1.21.5          py310hfd2de13_1  
openssl                   1.1.1n               h6c3fc93_0    conda-forge
packaging                 20.4                       py_0    anaconda
pandas                    1.4.1                    pypi_0    pypi
parso                     0.8.3              pyhd3eb1b0_0  
pexpect                   4.8.0              pyhd3eb1b0_3  
pickleshare               0.7.5           pyhd3eb1b0_1003  
pillow                    9.0.1                    pypi_0    pypi
pip                       21.2.4                   pypi_0    pypi
prompt-toolkit            3.0.20             pyhd3eb1b0_0  
ptyprocess                0.7.0              pyhd3eb1b0_2  
pure_eval                 0.2.2              pyhd3eb1b0_0  
pygments                  2.11.2             pyhd3eb1b0_0  
pyparsing                 2.4.7                      py_0    anaconda
python                    3.10.4               hdfd78df_0  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-tzdata             2022.1             pyhd8ed1ab_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pytz                      2020.1                     py_0    anaconda
pytz-deprecation-shim     0.1.0.post0              pypi_0    pypi
pyzmq                     22.3.0                   pypi_0    pypi
readline                  8.1.2                hca72f7f_1  
regex                     2021.8.3                 pypi_0    pypi
setuptools                61.2.0                   pypi_0    pypi
six                       1.16.0             pyhd3eb1b0_1  
soupsieve                 2.0.1                      py_0    anaconda
sqlite                    3.38.2               h707629a_0  
stack_data                0.2.0              pyhd3eb1b0_0  
tk                        8.6.11               h7bc2e8c_0  
tornado                   6.1                      pypi_0    pypi
traitlets                 5.1.1              pyhd3eb1b0_0  
tzdata                    2022a                hda174b7_0  
tzlocal                   4.2                      pypi_0    pypi
unicodedata2              14.0.0                   pypi_0    pypi
wcwidth                   0.2.5              pyhd3eb1b0_0  
wheel                     0.37.1             pyhd3eb1b0_0  
xz                        5.2.5                h1de35cc_0  
zeromq                    4.3.4                h23ab428_0  
zlib                      1.2.11               h4dc903c_4  
zstd                      1.5.0                hcb37349_1  

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风渺 2025-01-30 15:31:22

今天早上感到惊讶。

重新启动Mac后,它终于可以正常工作。
我在Firefox上没有遇到一些问题(奇怪的错误,无法启动它)。

我认为错误是由于Firefox而不是Webbrowser Python模块造成的。
我们将看看是否再次发生...

Suprise this morning.

After rebooting my Mac, it finally worked properly.
I uncountered some problems on Firefox (strange errors, impossible to launch it).

I think mistake is due to firefox and not webbrowser python module.
We'll see if it happen again...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文