我试图让 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,但无法从 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 建议的步骤:
以下是步骤的结果:
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
which -a python …
我的 Windows 计算机上有很多重复的图像文件,它们位于不同的子文件夹中,并且具有不同的文件名。
您会推荐什么 Python 脚本或免费软件程序来删除重复项?
(我读过这个类似的问题,但那里的海报询问了不同文件大小的视觉重复。我的是具有不同文件名的完全重复。)
这是什么意思之前的加号*/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?
我一直在安装 python 模块,使用apt-get它可以很好地使用控制台或从命令行启动文件。但是,我使用 Eclipse 来更轻松地组织文件。
Eclipse 不会像终端那样自动查找新模块,所以我想知道是否有办法找出apt-get命令使用的安装路径?
我刚刚意识到您可以删除 python eclipse 查看并重新配置它以解决我的特定问题。不过,找到安装路径对我来说仍然很有用!
我想读取 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。
编辑
约束
linux box 在公司环境中,所以我只能使用已经安装的工具(不是说我不能请求诸如 xml2 之类的实用程序,但我必须经历很多繁文缛节)。一些解决方案非常好(已经学习了一些新技巧),但由于环境限制,它们可能不适用
更新的 xml 列表
我在原始列表中添加了依赖项标签。这将显示一些 hacky 解决方案在这种情况下可能不起作用
发行版
我使用的发行版是 RHEL4
我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?
我需要从源代码手动编译 OpenSSL。我使用 Ubuntu 18。Ubuntu 18 附带的 OpenSSL 不支持我需要的特定密码。但是如果我手动编译 OpenSSL,它可以被启用。我找到了这本手册。但是,如何将 python ssl 链接到手动安装的 OpenSSL 而不是操作系统之一?
当我遇到以下错误时,我需要更新 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) 我目前正在使用 Anaconda 和 VS Code 设置 python 开发环境。
在我的旧笔记本电脑上,我可以通过按Shift+来运行 python 代码Enter,VS Code 会将它发送到 Python 交互窗口。当我现在这样做时,代码会发送到终端。Shift+Enter注册为键盘快捷键,用于将代码发送到终端和将其发送到 Python Interactive。
我可以通过右键单击并选择“在 python 交互式窗口中运行当前文件”在 Python Interactive 中运行东西。
我想要的是所选代码通过按Shift+在 Python Interactive 中运行Enter。
我该怎么做呢?