小编Wes*_*esR的帖子

python子进程不继承虚拟环境

在 Windoes 10 上使用 venv 进行操作时,如果我从目录中的文件调用子进程,则该子进程似乎无法访问 venv。有办法让它发挥作用吗?

理想情况下,我希望该方法能够移植到 Linux,但我会采取任何使项目运行的方法。

这是我的测试:

  • main.py 使用 Popen 调用 sub_proc.py。
  • sub_proc.py 导入 uuid_shortener,该文件已安装在虚拟环境中。

如果我直接运行 sub_proc.py 它会运行而不会出现错误。

但是,如果我运行 main.py,我会在 uuid_shortener 的导入语句上看到错误。

主要.py

import subprocess
import time

print(subprocess.Popen(['python', 'sub_proc.py']))
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

子进程.py

import uuid_shortener
Run Code Online (Sandbox Code Playgroud)

这是运行代码的输出。

import subprocess
import time

print(subprocess.Popen(['python', 'sub_proc.py']))
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

(上面没有错误)

import uuid_shortener
Run Code Online (Sandbox Code Playgroud)

python windows subprocess python-3.x python-venv

9
推荐指数
1
解决办法
3068
查看次数

如何检查 WSL-2 上不断增长的文件的尾部

在 WSL 上tail -f file报告一次,然后即使文件在增长,也不执行任何操作。

除了我自己编写之外,还有其他解决方法吗?

windows-subsystem-for-linux wsl-2

7
推荐指数
2
解决办法
1226
查看次数

如何在谷歌脚本中调试电子表格自定义函数?

我正在编写一个要在电子表格中使用的自定义函数,我希望至少能够显示一些数据。似乎没有什么工作,例如Browser.msgBox没有找到适当的权限。

断点不会中断执行。

我对这段代码有一些希望

function test() {
  var s = "test"
  Logger.log(s)
  return s + s
}
Run Code Online (Sandbox Code Playgroud)

但是,当我将电子表格中"=test()"的一个单元格设置为该单元格时,该单元格正确显示了值“testtest”,但是当我返回脚本编辑器并使用视图>执行记录时,或者view>logs我什么也没看到。

也许这个日志记录到某个地方的特殊文件?

debugging google-sheets google-apps-script custom-function

5
推荐指数
1
解决办法
5994
查看次数

为什么显示"函数getFullYear(){[Date.getFullYear的本机代码,arity = 0]}"而不是方法返回的值?

在Google Apps脚本编辑器中,我有以下代码

  function t(){
    var d = new Date;
    Logger.log(d);
    var y = d.getFullYear;
    Logger.log(y);
    if (y == 2013) {
      Logger.log("yes");
    } else {
      Logger.log("No");
    }
  }
Run Code Online (Sandbox Code Playgroud)

查看日志时,我看到以下结果.

[13-06-23 19:53:52:863 PDT] Sun Jun 23 19:53:52 GMT-07:00 2013
[13-06-23 19:53:52:864 PDT] function getFullYear() { [native code for Date.getFullYear, arity=0] }

[13-06-23 19:53:52:864 PDT] No
Run Code Online (Sandbox Code Playgroud)

我以为我会看到一个整数或者一个字符串,它是getFullYear返回的值.

无论是什么导致我这个问题并不是这种方法独有的.

我相信这是非常基本的.

提前致谢.

javascript google-apps-script

4
推荐指数
1
解决办法
3019
查看次数

virtualenv错误错误的解释器:无此文件或目录

如果尝试创建虚拟环境,则会收到此错误消息,我不理解该错误消息:解释错误:没有这样的文件或目录。我已经查看了此堆栈溢出答案,并尝试在以下诊断步骤中应用它。

这是我在Mojave上跑步的第一天,但​​我不知道这是否是造成此问题的因素。

我为位于以下位置的项目创建了一个新的空文件夹 /Users/Wes/Dropbox/Programming/Python/glade_againn

我的计划是在virtualenv中运行项目 /Users/Wes/.virtualenvs/glade_againn

但是,当我尝试使用virtualenv时,出现此错误消息。

$ virtualenv --version
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我尝试通过PIP安装virtualenv,则会被告知已经存在。

$ pip install virtualenv
Requirement already satisfied: virtualenv in /usr/local/lib/python2.7/site-packages (15.2.0)
$ 
Run Code Online (Sandbox Code Playgroud)

我当前的路径是

echo $PATH
/Library/Frameworks/Python.framework/Versions/3.6/bin:/opt/local/bin:/opt/local/sbin:/usr/local/opt/postgresql@9.4/bin:/usr/local/Cellar/postgresql/9.5.4_1/bin/psql/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Applications/Wireshark.app/Contents/MacOS:/usr/local/git/bin:/Users/Wes/bin:/sw/bin:/usr/local/bin:/Users/Wes/.sdkman/candidates/groovy/current/bin/
Run Code Online (Sandbox Code Playgroud)

如果您在所有这些目录中搜索pyth *,则会按此顺序获得此列表。

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3-config
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6-config
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config
/opt/local/bin/python2.7
/opt/local/bin/python2.7-config
/opt/local/bin/python3.4
/opt/local/bin/python3.4-config
/opt/local/bin/python3.4m
/opt/local/bin/python3.4m-config
/opt/local/bin/pythonw2.7
/usr/local/bin/python-32
/usr/local/bin/python2-32
/usr/local/bin/python2.7-32
/usr/local/bin/python3
/usr/local/bin/python3-config
/usr/local/bin/python3.6
/usr/local/bin/python3.6-config
/usr/local/bin/python3.6m
/usr/local/bin/python3.6m-config
/usr/local/bin/pythoni
/usr/local/bin/pythoni1
/usr/local/bin/pythonw-32
/usr/local/bin/pythonw2-32
/usr/local/bin/pythonw2.7-32
/usr/bin/python
/usr/bin/python-config
/usr/bin/python2.7
/usr/bin/python2.7-config
/usr/bin/pythonw
/usr/bin/pythonw2.7
/sw/bin/python2.7
/sw/bin/python2.7-config
/usr/local/bin/python-32
/usr/local/bin/python2-32 …
Run Code Online (Sandbox Code Playgroud)

python virtualenv

4
推荐指数
3
解决办法
1704
查看次数

在python lib中导入和裁剪jpeg的快速方法

我有一个 python 应用程序,它导入 200k+ 图像,裁剪它们,并将裁剪后的图像呈现给 pyzbar 以解释条形码。裁剪有帮助,因为图像上有多个条形码,而且在给定较小的图像时,pyzbar 可能会快一些。

目前我正在使用 Pillow 导入和裁剪图像。

平均而言,导入和裁剪图像需要 262 毫秒,而 pyzbar 需要 8 毫秒。

典型的运行时间约为 21 小时。

我想知道 Pillow 以外的库是否可以在加载/裁剪方面提供实质性的改进。理想情况下,该库应该可用于 MacOS,但我也可以在虚拟 Ubuntu 机器上运行整个程序。

我正在开发一个可以在并行进程中运行的版本,这将是一个很大的改进,但如果我可以从不同的库中获得 25% 或更多的速度提升,我也会添加它。

python jpeg image-processing

4
推荐指数
2
解决办法
2385
查看次数

postgresql:何时使用数组构造函数与大括号

我试图理解为什么这是一个语法错误:

SELECT distinct precinct FROM ballots
WHERE code_string = ANY (
  { '20000420300098', '20001240300074'})
Run Code Online (Sandbox Code Playgroud)

虽然这成功了?

SELECT distinct precinct FROM ballots
WHERE code_string = ANY (
  ARRAY[ '20000420300098', '20001240300074'])
Run Code Online (Sandbox Code Playgroud)

根据https://www.postgresql.org/docs/9.1/static/arrays.html它们应该是等效的。

postgresql

3
推荐指数
1
解决办法
2521
查看次数

如何测试美汤对象的类型?

这可能是一个非常基本的 Python 问题,尽管我在 Beautiful Soup 中遇到了它。

我想做的基本事情是仅从 HTML 文件中提取输出文本。

例如,在下面包含的 HTML 文件中,我只想提取 0123、abc、def 和 ghi,但不提取标签和属性。

尽我所知 BS 我应该能够通过 HTML 标记的后代进行递归,并且只包含 NavigableStrings 的内容。

问题是我不知道如何编写 if 语句来测试类型。请参阅下面 python 代码中的注释。

任何解决方案?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>0123</title>
</head>
<body>
    <div>
        <p>abc</p>def
        <a href="wxy.z">ghi</a>
    </div>
</body>
</html>


# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup

with open('simple.html', 'r') as inf:
    soup = BeautifulSoup(inf.read(), 'lxml')
    for e in soup('html'):
        for d in e.descendants:
            print d     # HERE I WANT TO SKIP EXCEPT …
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup python-2.7

2
推荐指数
1
解决办法
3459
查看次数

Python GTK + 3教程Hello World中没有名为“ gi”的模块

https://python-gtk-3-tutorial.readthedocs.io/en/latest/install.html

我一直在尝试遵循本教程,但似乎无法正确安装。教程示例和结果位于底部。不过,很明显,我没有按照说明在MacOS Mojave上安装所需的模块。

我遵循的步骤是:

brew install GTK+3
brew install gobject-introspection
brew install PyGObject
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 \
    /Users/Wes/Dropbox/Programming/Python/glade_againnn/tryit.py
Run Code Online (Sandbox Code Playgroud)

尽管本教程中没有,但我尝试过pip install PyGObject并得到了很长的错误消息:

Command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/vf/x732mfwj4nvf5g_mntsyw97h0000gp/T/pip-install-xfgd22p9/PyGObject/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/vf/x732mfwj4nvf5g_mntsyw97h0000gp/T/pip-record-3tko684k/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/vf/x732mfwj4nvf5g_mntsyw97h0000gp/T/pip-install-xfgd22p9/PyGObject/
Run Code Online (Sandbox Code Playgroud)

错误消息是:

3.7.1 (default, Nov 28 2018, 11:51:54) 
Traceback (most recent call last):
[Clang 10.0.0 (clang-1000.11.45.5)]
  File "/Users/Wes/Dropbox/Programming/Python/glade_againnn/tryit.py", line 5, in <module>
    import gi
ModuleNotFoundError: No module named 'gi'

import sys
print(sys.version)

import gi
gi.require_version("Gtk", "3.0") …
Run Code Online (Sandbox Code Playgroud)

python gtk macos

2
推荐指数
1
解决办法
1138
查看次数