标签: python

Python / Selenium / PhantomJS:“无法使用 ghostdriver 启动 phantomjs。”

我试图让 Selenium 在 Windows 机器上使用 phantomjs。我的代码编译没有任何错误:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import cookielib
import re
from splinter import Browser

driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')
Run Code Online (Sandbox Code Playgroud)

但是每次我运行它我都会收到错误

Traceback (most recent call last):
  File "E:/~PROJECT/disinfo/py/bs.py", line 8, in <module>
    driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py", line 50, in __init__
    self.service.start()
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\service.py", line 63, in start
    raise WebDriverException("Unable to start phantomjs with ghostdriver.", e)
selenium.common.exceptions.WebDriverException: Message: 'Unable to start phantomjs with ghostdriver.' ; Screenshot: available via screen 
Run Code Online (Sandbox Code Playgroud)

我已经收到这个错误几个小时了。“无法使用 ghostdriver …

python

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

pip 不适用于 hombrew python 2.7 安装

我已经使用自制软件安装了 python,但无法从 bash 调用 pip。我尝试修改我的 .bash_profile 以包含 /usr/local/bin/python 和 /usr local/share/python 无济于事。

当我使用 bash 命令时:

find / -name 'pip'
Run Code Online (Sandbox Code Playgroud)

我得到的唯一结果是:

/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip
/Users/Ivan/Library/Caches/pip
/Users/Ivan/Library/Logs/pip
/usr/local/Cellar/python/2.7.9/libexec/pip
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
/usr/local/lib/python2.7/site-packages/pip
Run Code Online (Sandbox Code Playgroud)

其中没有一个是可执行文件。

我真的不知道在哪里指向我的 $PATH,因为我找不到 pip 可执行文件。当我打开

/usr/local/lib/python2.7/site-packages/pip
Run Code Online (Sandbox Code Playgroud)

或者

/usr/local/Cellar/python/2.7.9/libexec/pip/pip
Run Code Online (Sandbox Code Playgroud)

我找到以下文件:

__init__.py         commands            operations
__init__.pyc        compat              pep425tags.py
__main__.py         download.py         pep425tags.pyc
__main__.pyc        download.pyc        req
_vendor             exceptions.py       status_codes.py
basecommand.py      exceptions.pyc      status_codes.pyc
basecommand.pyc     index.py            utils
baseparser.py       index.pyc           vcs
baseparser.pyc      locations.py        wheel.py
cmdoptions.py       locations.pyc       wheel.pyc
cmdoptions.pyc      models
Run Code Online (Sandbox Code Playgroud)

其中没有一个是可执行文件。

我会感谢任何比我更有经验的人的帮助。

编辑:我尝试了 Marco 建议的步骤:

以下是步骤的结果:

  1. echo $PATH 显示几个目录:/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/ texbin:/opt/X11/bin:/usr/local/mysql/bin

  2. which -a python …

bash python homebrew pip macos

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

从计算机中删除重复图像文件的最佳方法是什么?

我的 Windows 计算机上有很多重复的图像文件,它们位于不同的子文件夹中,并且具有不同的文件名。

您会推荐什么 Python 脚本或免费软件程序来删除重复项?

(我读过这个类似的问题,但那里的海报询问了不同文件大小的视觉重复。我的是具有不同文件名的完全重复。)

windows python deduplication image-processing

14
推荐指数
3
解决办法
5661
查看次数

Vim */dyn 支持

这是什么意思之前的加号*/dyn的:version命令的输出,例如:

+python/dyn +python3/dyn +ruby/dyn +tcl/dyn
Run Code Online (Sandbox Code Playgroud)

我没有找到任何有用的文档。当我运行:echo has('python3')Vim 时返回 0。当我运行时,:python3 print('hi')它表示E370: Could not load library python31.dll我应该安装 python(据我所知)。

所以,我只是看不出差别之间-*/dyn和+*/dyn。加号给我们带来了什么?与dyn-less 功能有什么区别,例如+python?

vim python ruby

14
推荐指数
1
解决办法
7501
查看次数

如何在Ubuntu中找到通过apt-get安装的软件包的安装路径?

我一直在安装 python 模块,使用apt-get它可以很好地使用控制台或从命令行启动文件。但是,我使用 Eclipse 来更轻松地组织文件。

Eclipse 不会像终端那样自动查找新模块,所以我想知道是否有办法找出apt-get命令使用的安装路径?

我刚刚意识到您可以删除 python eclipse 查看并重新配置它以解决我的特定问题。不过,找到安装路径对我来说仍然很有用!

python eclipse ubuntu apt-get

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

脚本编写:在 XML 文件的标记中提取值最简单的方法是什么?

我想读取 pom.xml(Maven 的“项目对象模型”)并提取版本信息。下面是一个例子:

<?xml version="1.0" encoding="UTF-8"?><project 
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>project-parent</artifactId>
    <name>project-parent</name>
    <version>1.0.74-SNAPSHOT</version>
    <dependencies>
        <dependency>
        <groupId>com.sybase.jconnect</groupId>
        <artifactId>jconnect</artifactId>
        <version>6.05-26023</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>1.5.2</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jdmk</groupId>
        <artifactId>jmxtools</artifactId>
        <version>1.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>2.4</version>
    </dependency>       
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

如何从上面提取版本“1.0.74-SNAPSHOT”?

希望能够使用简单的 bash 脚本 sed 或 awk 来做到这一点。否则首选简单的python。

编辑

  1. 约束

    linux box 在公司环境中,所以我只能使用已经安装的工具(不是说我不能请求诸如 xml2 之类的实用程序,但我必须经历很多繁文缛节)。一些解决方案非常好(已经学习了一些新技巧),但由于环境限制,它们可能不适用

  2. 更新的 xml 列表

    我在原始列表中添加了依赖项标签。这将显示一些 hacky 解决方案在这种情况下可能不起作用

  3. 发行版

    我使用的发行版是 RHEL4

linux unix xml bash python

14
推荐指数
4
解决办法
7万
查看次数

创建 Python 3 虚拟环境

我python3-virtualenv使用官方 Ubuntu 包安装在 Lubuntu 15.1 上apt-get install python3-virtualenv。在官方文件表明,一个简单的virtualenv .在我的项目目录,应该足以创建VENV。这什么都不做,因为which virtualenv什么都不做。(没有从which python-virtualenv和which python3-virtualenv也)。

安装后的包信息说它已安装/usr/lib/python3/dist-packages/virtualenv.py,所以我在python3下调用它。它给了我这个:

$ python3 /usr/lib/python3/dist-packages/virtualenv.py .
Running virtualenv with interpreter /usr/bin/python2
New python executable in ./bin/python2
Also creating executable in ./bin/python
Installing setuptools, pip...done.
Run Code Online (Sandbox Code Playgroud)

是的,当我查看时,./bin 中的所有内容都是 python2。ubuntu 的 python3-virtualenv 是 python2 的虚拟包吗?

官方 python 文档说使用不同的包:python3-venv。当我pyvenv .在./bin目录中使用 python3 内容时,这似乎有效。

如何成功创建 Python 3 virtualenv?

python ubuntu virtualenv

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

如何将python链接到手动编译的OpenSSL而不是系统的OpenSSL

我需要从源代码手动编译 OpenSSL。我使用 Ubuntu 18。Ubuntu 18 附带的 OpenSSL 不支持我需要的特定密码。但是如果我手动编译 OpenSSL,它可以被启用。我找到了这本手册。但是,如何将 python ssl 链接到手动安装的 OpenSSL 而不是操作系统之一?

linux python ssl openssl ubuntu

14
推荐指数
1
解决办法
1万
查看次数

更新 conda 包时出错:RemoveError: 'setuptools' is a dependency of conda

当我遇到以下错误时,我需要更新 matplotlib:

conda update matplotlib
Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: /home/gpu-server/anaconda3

  added / updated specs:
    - matplotlib


The following NEW packages will be INSTALLED:

  libopenblas        pkgs/main/linux-64::libopenblas-0.3.3-h5a2b251_3
  setuptools         pkgs/main/linux-64::setuptools-40.6.3-py37_0

The following packages will be UPDATED:

  matplotlib                conda-forge::matplotlib-3.0.0-2 --> pkgs/main::matplotlib-3.0.2-py37h5429711_0
  numpy              conda-forge::numpy-1.15.1-py36_blas_o~ --> pkgs/main::numpy-1.15.4-py37h99e49ec_0
  numpy-base                          1.15.3-py36h81de0dd_0 --> 1.15.4-py37h2f8d375_0
  pyparsing          conda-forge/noarch::pyparsing-2.2.2-p~ --> pkgs/main/linux-64::pyparsing-2.3.1-py37_0
  python                                   3.6.8-h0371630_0 --> 3.7.2-h0371630_0
  pytz                 conda-forge/noarch::pytz-2018.6-py_0 --> pkgs/main/linux-64::pytz-2018.9-py37_0
  six                     conda-forge::six-1.11.0-py36_1001 --> pkgs/main::six-1.12.0-py37_0
  wheel                    conda-forge::wheel-0.32.2-py36_0 --> pkgs/main::wheel-0.32.3-py37_0

The following packages will be SUPERSEDED …
Run Code Online (Sandbox Code Playgroud)

linux python matplotlib anaconda

14
推荐指数
2
解决办法
2万
查看次数

VS Code:Shift+Enter 不向 Python Interactive 发送代码 - 为什么?

我目前正在使用 Anaconda 和 VS Code 设置 python 开发环境。

在我的旧笔记本电脑上,我可以通过按Shift+来运行 python 代码Enter,VS Code 会将它发送到 Python 交互窗口。当我现在这样做时,代码会发送到终端。Shift+Enter注册为键盘快捷键,用于将代码发送到终端和将其发送到 Python Interactive。

我可以通过右键单击并选择“在 python 交互式窗口中运行当前文件”在 Python Interactive 中运行东西。

我想要的是所选代码通过按Shift+在 Python Interactive 中运行Enter。

我该怎么做呢?

python visual-studio-code

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