No module named networkx питон

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ModuleNotFoundError: No module named ‘networkx’ #984

ModuleNotFoundError: No module named ‘networkx’ #984

Comments

I installed trimesh in conda in Ubuntu O.S.
That error pops up when I used mesh.fix_normals() .

File «repairMesh.py», line 22, in meshRepair
mesh.fix_normals()
File «/.conda/envs/ml/lib/python3.7/site-packages/trimesh/constants.py», line 134, in timed
result = method(*args, **kwargs)
File «/.conda/envs/ml/lib/python3.7/site-packages/trimesh/base.py», line 1777, in fix_normals
repair.fix_normals(self, multibody=multibody)
File «/.conda/envs/ml/lib/python3.7/site-packages/trimesh/repair.py», line 164, in fix_normals
fix_winding(mesh)
File «/.conda/envs/ml/lib/python3.7/site-packages/trimesh/repair.py», line 45, in fix_winding
graph_all = nx.from_edgelist(mesh.face_adjacency)
File «/.conda/envs/ml/lib/python3.7/site-packages/trimesh/exceptions.py», line 28, in getattribute
raise super(ExceptionModule, self).getattribute(‘exc’)
File «/.conda/envs/ml/lib/python3.7/site-packages/trimesh/repair.py», line 19, in
import networkx as nx

Читайте также:  Структура данных java pdf

Also I tried to reinstall trimesh using: pip install trimesh[all]
It shows this error :

Collecting rtree; extra == «all» (from trimesh[all])
Using cached https://files.pythonhosted.org/packages/56/6f/f1e91001d5ad9fa9bed65875152f5a1c7955c5763168cae309546e6e9fda/Rtree-0.9.4.tar.gz
ERROR: Complete output from command python setup.py egg_info:
ERROR: Traceback (most recent call last):
File «», line 1, in
File «/tmp/pip-install-8oo80d2k/rtree/setup.py», line 3, in
import rtree
File «/tmp/pip-install-8oo80d2k/rtree/rtree/init.py», line 1, in
from .index import Rtree
File «/tmp/pip-install-8oo80d2k/rtree/rtree/index.py», line 6, in
from . import core
File «/tmp/pip-install-8oo80d2k/rtree/rtree/core.py», line 143, in
rt.Error_GetLastErrorNum.restype = ctypes.c_int
File «/.conda/envs/ml/lib/python3.7/ctypes/init.py», line 369, in getattr
func = self.getitem(name)
File «/.conda/envs/ml/lib/python3.7/ctypes/init.py», line 374, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /.conda/envs/ml/bin/python: undefined symbol: Error_GetLastErrorNum
—————————————-
ERROR: Command «python setup.py egg_info» failed with error code 1 in /tmp/pip-install-8oo80d2k/rtree/

The text was updated successfully, but these errors were encountered:

Источник

[Fixed] ModuleNotFoundError: No module named ‘networkx’

Be on the Right Side of Change

Quick Fix: Python raises the ImportError: No module named ‘ networkx ‘ when it cannot find the library networkx . The most frequent source of this error is that you haven’t installed networkx explicitly with pip install networkx . Alternatively, you may have different Python versions on your computer, and networkx is not installed for the particular version you’re using.

Problem Formulation

You’ve just learned about the awesome capabilities of the networkx library and you want to try it out, so you start your code with the following statement:

This is supposed to import the Pandas library into your (virtual) environment. However, it only throws the following ImportError: No module named networkx :

>>> import networkx Traceback (most recent call last): File "", line 1, in import networkx ModuleNotFoundError: No module named 'networkx'

Solution Idea 1: Install Library networkx

The most likely reason is that Python doesn’t provide networkx in its standard library. You need to install it first!

Before being able to import the Pandas module, you need to install it using Python’s package manager pip . Make sure pip is installed on your machine.

To fix this error, you can run the following command in your Windows shell:

This simple command installs networkx in your virtual environment on Windows, Linux, and MacOS. It assumes that your pip version is updated. If it isn’t, use the following two commands in your terminal, command line, or shell (there’s no harm in doing it anyways):

$ python -m pip install --upgrade pip $ pip install pandas

💡 Note: Don’t copy and paste the $ symbol. This is just to illustrate that you run it in your shell/terminal/command line.

Solution Idea 2: Fix the Path

The error might persist even after you have installed the networkx library. This likely happens because pip is installed but doesn’t reside in the path you can use. Although pip may be installed on your system the script is unable to locate it. Therefore, it is unable to install the library using pip in the correct path.

To fix the problem with the path in Windows follow the steps given next.

Step 1: Open the folder where you installed Python by opening the command prompt and typing where python

Step 2: Once you have opened the Python folder, browse and open the Scripts folder and copy its location. Also verify that the folder contains the pip file.

Step 3: Now open the Scripts directory in the command prompt using the cd command and the location that you copied previously.

Step 4: Now install the library using pip install networkx command. Here’s an analogous example:

After having followed the above steps, execute our script once again. And you should get the desired output.

Other Solution Ideas

  • The ModuleNotFoundError may appear due to relative imports. You can learn everything about relative imports and how to create your own module in this article.
  • You may have mixed up Python and pip versions on your machine. In this case, to install networkx for Python 3, you may want to try python3 -m pip install networkx or even pip3 install networkx instead of pip install networkx
  • If you face this issue server-side, you may want to try the command pip install —user networkx
  • If you’re using Ubuntu, you may want to try this command: sudo apt install networkx
  • You can check out our in-depth guide on installing networkx here.
  • You can also check out this article to learn more about possible problems that may lead to an error when importing a library.

Understanding the “import” Statement

In Python, the import statement serves two main purposes:

  • Search the module by its name, load it, and initialize it.
  • Define a name in the local namespace within the scope of the import statement. This local name is then used to reference the accessed module throughout the code.

What’s the Difference Between ImportError and ModuleNotFoundError?

What’s the difference between ImportError and ModuleNotFoundError ?

Python defines an error hierarchy, so some error classes inherit from other error classes. In our case, the ModuleNotFoundError is a subclass of the ImportError class.

You can see this in this screenshot from the docs:

You can also check this relationship using the issubclass() built-in function:

>>> issubclass(ModuleNotFoundError, ImportError) True

Specifically, Python raises the ModuleNotFoundError if the module (e.g., networkx ) cannot be found. If it can be found, there may be a problem loading the module or some specific files within the module. In those cases, Python would raise an ImportError .

If an import statement cannot import a module, it raises an ImportError . This may occur because of a faulty installation or an invalid path. In Python 3.6 or newer, this will usually raise a ModuleNotFoundError .

The following video shows you how to resolve the ImportError :

The fix is simple: Use the PyCharm installation tooltips to install Pandas in your virtual environment—two clicks and you’re good to go!

First, right-click on the pandas text in your editor:

Second, click “ Show Context Actions ” in your context menu. In the new menu that arises, click “Install Pandas” and wait for PyCharm to finish the installation.

The code will run after your installation completes successfully.

As an alternative, you can also open the Terminal tool at the bottom and type:

If this doesn’t work, you may want to set the Python interpreter to another version using the following tutorial: https://www.jetbrains.com/help/pycharm/2016.1/configuring-python-interpreter-for-a-project.html

You can also manually install a new library such as networkx in PyCharm using the following procedure:

  • Open File > Settings > Project from the PyCharm menu.
  • Select your current project.
  • Click the Python Interpreter tab within your project tab.
  • Click the small + symbol to add a new library to the project.
  • Now type in the library to be installed, in your example Pandas, and click Install Package .
  • Wait for the installation to terminate and close all popup windows.

Here’s an analogous example:

Here’s a full guide on how to install a library on PyCharm.

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.

To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.

His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.

Be on the Right Side of Change 🚀

  • The world is changing exponentially. Disruptive technologies such as AI, crypto, and automation eliminate entire industries. 🤖
  • Do you feel uncertain and afraid of being replaced by machines, leaving you without money, purpose, or value? Fear not! There a way to not merely survive but thrive in this new world!
  • Finxter is here to help you stay ahead of the curve, so you can keep winning as paradigms shift.

Learning Resources 🧑‍💻

⭐ Boost your skills. Join our free email academy with daily emails teaching exponential with 1000+ tutorials on AI, data science, Python, freelancing, and Blockchain development!

Join the Finxter Academy and unlock access to premium courses 👑 to certify your skills in exponential technologies and programming.

New Finxter Tutorials:

Finxter Categories:

Источник

Оцените статью