Screen Shot
Link to workbook showing issue:`
https://colab.research.google.com/drive/1Zf8YTHRLOL6-ez1SWvzZEVZpkelrG2Kz?usp=sharing
!apt-get update
!apt install chromium-chromedriver
!pip install selenium
from selenium import webdriver
Google Colab + Account on Chrome Browserenter image description here
I have run various scripts for the last two years and no issues.
Today I get the following error:
ImportError: cannot import name 'Literal' from 'typing' (/usr/lib/python3.7/typing.py)
The error relates to the typing library. I do not know exactly why this is happening and I hope someone has a better solution than mine, but editing the file that calls this library worked for me:
# Install Normal Selenium Stuff
!pip install selenium
!apt-get update # to update ubuntu to correctly run apt install
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
import sys
sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver')
## This edits the part of the file that gives the error:
with open('/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/virtual_authenticator.py', 'r') as file:
# read a list of lines into data
data = file.readlines()
data[21] = 'from typing_extensions import Literal\n'
with open('/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/virtual_authenticator.py', 'w') as file:
file.writelines( data )
# Calls Selenium (It is important to edit the file before calling seleninum):
from selenium import webdriver
I know this is probably not the best solution, but it worked for me. I hope someone can come up with a better solution and explain why this is happening. Meanwhile, this will probably work for most people.
I get this error when I try to open the init.vim file for neovim, for neoclide coc.vim. Any solutions? in WSL(Ubuntu)
[coc.nvim] Error on execute :pyx command, ultisnips feature of coc-snippets requires pyx support on vim. use :CocOpenLog for details
Enter command pip install pynvim in your command line. It helped me. And before this you should have python on your PC.
you choose correct version of python in init.vim
let g:python3_host_prog="/usr/bin/version python"
example
let g:python3_host_prog="/usr/bin/python3.10"
I tried with installing pynvim and also have the latest pip (21.3.1). My vim version is 9.0 and compiled it from scratch.
But while searching the features included with vim, I realised that I had not included python. After following this answer, I enabled python while compiling vim. My issue has been resolved.
I had to upgrade pip first, then run pip install pynvim.
Most likely you default python install broke for some reason on you machine (was the same for me).
Try running the python command from the terminal.
If you get command not recognized than you know this is the problem.
Reinstalling python or
set the python the python path that vim uses to an installed python version that works
let g:python3_host_prog="/usr/bin/version python"
Assuming you have python3 installed.
I'm trying to use pip to install a package. I try to run pip install from the Python shell, but I get a SyntaxError. Why do I get this error? How do I use pip to install the package?
>>> pip install selenium
^
SyntaxError: invalid syntax
pip is run from the command line, not the Python interpreter. It is a program that installs modules, so you can use them from Python. Once you have installed the module, then you can open the Python shell and do import selenium.
The Python shell is not a command line, it is an interactive interpreter. You type Python code into it, not commands.
Use the command line, not the Python shell (DOS, PowerShell in Windows).
C:\Program Files\Python2.7\Scripts> pip install XYZ
If you installed Python into your PATH using the latest installers, you don't need to be in that folder to run pip
Terminal in Mac or Linux
$ pip install XYZ
As #sinoroc suggested correct way of installing a package via pip is using separate process since pip may cause closing a thread or may require a restart of interpreter to load new installed package so this is the right way of using the API: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'SomeProject']) but since Python allows to access internal API and you know what you're using the API for you may want to use internal API anyway eg. if you're building own GUI package manager with alternative resourcess like https://www.lfd.uci.edu/~gohlke/pythonlibs/
Following soulution is OUT OF DATE, instead of downvoting suggest updates. see https://github.com/pypa/pip/issues/7498 for reference.
UPDATE: Since pip version 10.x there is no more get_installed_distributions() or main method under import pip instead use import pip._internal as pip.
UPDATE ca. v.18 get_installed_distributions() has been removed. Instead you may use generator freeze like this:
from pip._internal.operations.freeze import freeze
print([package for package in freeze()])
# eg output ['pip==19.0.3']
If you want to use pip inside the Python interpreter, try this:
import pip
package_names=['selenium', 'requests'] #packages to install
pip.main(['install'] + package_names + ['--upgrade'])
# --upgrade to install or update existing packages
If you need to update every installed package, use following:
import pip
for i in pip.get_installed_distributions():
pip.main(['install', i.key, '--upgrade'])
If you want to stop installing other packages if any installation fails, use it in one single pip.main([]) call:
import pip
package_names = [i.key for i in pip.get_installed_distributions()]
pip.main(['install'] + package_names + ['--upgrade'])
Note: When you install from list in file with -r / --requirement parameter you do NOT need open() function.
pip.main(['install', '-r', 'filename'])
Warning: Some parameters as simple --help may cause python interpreter to stop.
Curiosity: By using pip.exe you actually use python interpreter and pip module anyway. If you unpack pip.exe or pip3.exe regardless it's python 2.x or 3.x, inside is the SAME single file __main__.py:
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
To run pip in Python 3.x, just follow the instructions on Python's page: Installing Python Modules.
python -m pip install SomePackage
Note that this is run from the command line and not the python shell (the reason for syntax error in the original question).
I installed python and when I run pip command it used to throw me an error like shown in pic below.
Make Sure pip path is added in environmental variables. For me, the python and pip installation path is::
Python: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\
pip: C:\Users\fhhz\AppData\Local\Programs\Python\Python38\Scripts
Both these paths were added to path in environmental variables.
Now Open a new cmd window and type pip, you should be seeing a screen as below.
Now type pip install <<package-name>>. Here I'm installing package spyder so my command line statement will be as pip install spyder and here goes my running screen..
and I hope we are done with this!!
you need to type it in cmd not in the IDLE. becuse IDLE is not an command prompt if you want to install something from IDLE type this
>>>from pip.__main__ import _main as main
>>>main(#args splitted by space in list example:['install', 'requests'])
this is calling pip like pip <commands> in terminal. The commands will be seperated by spaces that you are doing there to.
If you are doing it from command line,
try -
python -m pip install selenium
or (for Python3 and above)
python3 -m pip install selenium
I have just installed jython and want to install some packages like bs4 and mechanize in python I simply did pip install and done. How I can do the same thing for jython I tried jip install package_name but got an error. Please give the answer as simple as possible to follow thanks in advance.
I use Ubuntu 16.10. I tried installing Selenium module of python via the command - sudo pip3 install -U selenium. But, I am not able to install it. It is giving an unexpected error. I am sharing the screenshot of the terminal here. Please help!
Please click here for the screenshot
If you are using Ubuntu, I'd suggest checking in the package manager as it may already be there. I'm on Mint and it was already there when I loaded python (2.7 also).