Python vlc install problems

你离开我真会死。 提交于 2020-01-02 07:05:59

问题


alright so i am trying to install vlc with pip and its telling me successfully installed python-vlc ok good that's what i wanted but when i go to run the program im trying to use vlc in witch is here

import vlc
p = vlc.MediaPlayer("https://www.youtube.com/watch?v=jC1vtG3oyqg")
p.play()

i am told this

Traceback (most recent call last):
  File "C:\Users\Matt\Desktop\test2.py", line 1, in <module>
    import vlc
  File "C:\Python27\lib\site-packages\vlc.py", line 173, in <module>
    dll, plugin_path  = find_lib()
  File "C:\Python27\lib\site-packages\vlc.py", line 150, in find_lib
    dll = ctypes.CDLL('libvlc.dll')
  File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found

im not sure what i am suppose to do since there are errors in the vlc program ( i think ) if you could help me out and get this working for me that would be amazing thank you so much!!


回答1:


Your problem is that libvlc.dll is not in the PATH. There is 2 ways to correct that.

First (temporary):

set PATH=%PATH%;<path to your dll folder>

As explained in the second answer of this post: Adding directory to PATH Environment Variable in Windows

Second (Forever):

This solution makes the variable stay in the path for every reboot of your machine but you need root privilege. As before you need to put the way to your dll folder in the Path variable as explained on this site. (It depends from your system version): https://www.computerhope.com/issues/ch000549.htm

Other problem that may occur

Oftenly, people download 32bits vlc's version. This may cause some trouble if you installed the 64 bits version of python. (Windows Error [193]). To fix that, you just need to reinstall the 64 bits vlc's version.




回答2:


I had similar question. Here is my solution: First I checked the code in the file __init__.py. Print some variables like self._name and mode to make sure the values are correct. And I looked up the function _dlopen, which is LoadLibrary from _ctypes, and found out the mode argument is optional. So I try to modified the file without breaking the structure of whole file. Here is the code:

the original codes are:

if handle is None:
    self._handle = _dlopen(self._name, mode)
else:
    self._handle = handle

I modified the codes as below:

if handle is None:
    if 'libvlc' not in self._name:
        self._handle = _dlopen(self._name, mode)
    else:  # libvlc.dll will hit
        self._handle = _dlopen(self._name)
else:
    self._handle = handle

And it worked for me. Hope this solution can help people with the same problem.




回答3:


Installing through pip does not install vlc itself, only the python wrapper for the libvlc bindings. To use them, you need to have a working VLC install. Please fetch VLC from www.videolan.org




回答4:


I changed my vlc player from 32 bit to 64 and it worked. Just download 64-bit version of vlc player and install it. The write

import vlc

It will work



来源:https://stackoverflow.com/questions/42045887/python-vlc-install-problems

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!