こんにちは! 新しいUbuntuベータバージョン13.04をテストしていますが、virtualenvのインポートエラーで問題が発生しています。 Firefoxをビルドしようとしたときに、次の出力がありました。
Creating Python environment
Cannot find file /usr/include/x86_64-linux-gnu/python2.7 (bad symlink)
New python executable in /home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python2.7
Not overwriting existing python script /home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python (you must use /home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/bin/python2.7)
Installing setuptools...................................
Complete output from command /home/marco/bernardo...ualenv/bin/python2.7 -c "#!python
\"\"\"Bootstra...sys.argv[1:])
" /home/bernardo/bernardo...ols-0.6c11-py2.7.egg:
Traceback (most recent call last):
File "<string>", line 278, in <module>
File "<string>", line 239, in main
File "/home/bernardo/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1712, in main
File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1700, in with_ei_usage
File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1716, in <lambda>
File "/usr/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 971, in run_command
cmd_obj.ensure_finalized()
File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
self.finalize_options()
File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 125, in finalize_options
File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/easy_install.py", line 1121, in _expand
File "/usr/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
cmd_obj.ensure_finalized()
File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
self.finalize_options()
File "/home/marco/bernardo/FD/src/python/virtualenv/virtualenv_support/setuptools-0.6c11-py2.7.egg/setuptools/command/install.py", line 32, in finalize_options
File "/usr/lib/python2.7/distutils/command/install.py", line 321, in finalize_options
(prefix, exec_prefix) = get_config_vars('prefix', 'exec_prefix')
File "/home/marco/bernardo/FD/src/obj-x86_64-unknown-linux-gnu/_virtualenv/lib/python2.7/distutils/__init__.py", line 92, in sysconfig_get_config_vars
real_vars = old_get_config_vars(*args)
File "/usr/lib/python2.7/distutils/sysconfig.py", line 503, in get_config_vars
func()
File "/usr/lib/python2.7/distutils/sysconfig.py", line 447, in _init_posix
from _sysconfigdata import build_time_vars
File "/usr/lib/python2.7/_sysconfigdata.py", line 6, in <module>
from _sysconfigdata_nd import *
ImportError: No module named _sysconfigdata_nd
----------------------------------------
...Installing setuptool...
ある種の解決策を探していたところ、Ubuntuでこのチケットを見つけましたが、トラッカーは私が抱えていたのと同じ問題を説明しています。 コメントを読むと、問題を修正するための回避策がありましたが、ここに表示されているように、これはvirtualenvの問題であるというコメントもあり
@berinhard私も同じ問題を抱えていました。この問題は、UbuntuのPythonパッケージにあり、問題を解決するために、ファイルのシンボリックリンクを作成します。
ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata.py /usr/lib/python2.7/
これも忘れないでください:
sudo ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/
sudo rm /usr/lib/python2.7/_sysconfigdata_nd.py
sudo ln -fs /usr/lib/python2.7/plat-i386-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/
私の場合、Ubuntu13.04です。
私も同じことをしました。
17:54時金、2013年6月21日には、emetemunoyの[email protected] :
sudo rm /usr/lib/python2.7/_sysconfigdata_nd.py
sudo ln -fs /usr/lib/python2.7/plat-i386-linux-gnu/_sysconfigdata_nd.py
/usr/lib/python2.7/
私の場合、Ubuntu13.04です。—
このメールに直接返信するか、Gi tHubhttps://github.com/pypa/virtualenv/issues/410#issuecomment-19824257で表示してください
。
アルノー
ありがとう..!!
@cleberjsantos tks! 私のために働く。
ubuntu 14.04の場合、この問題は視覚化が原因で発生します
彼らはこの問題を解決するための2つの方法です。
$ ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata.py /usr/lib/python2.7/
$ sudo ln -fs /usr/lib/python2.7/plat-x86_64-linux-gnu/_sysconfigdata_nd.py /usr/lib/python2.7/
それでおしまい
これで、python2.7コンソールを入手できるようになります
exapmleが仮想python2.7を作成するため
次のコマンドを使用できます。
$ virtualenv --python=python2.7 py2
$ cd py2
$ source bin/activate
これで、 ubuntu @ubnutuの前にそのpy2が表示されます。
(py2) ubuntu @ ubuntu $
これで、Pythonを入力すると、python2.7コンソールが表示されます。
同様に、python3でも実行できます
Ubuntu 17.10でもエラーが発生します:(
そして私はあなたが提案したことをしました:(
python3.5でも同じ問題が発生しました。 しばらくデバッグした後、私はついに解決策を見つけました。 python3.5を使用している場合、構成ファイルの名前は「_sysconfigdata_m.py」です。 使用したいコードは次のとおりです。
sudo rm /usr/lib/python3.5/_sysconfigdata.py
sudo ln -fs /usr/lib/python3.5/plat-x86_64-linux-gnu/_sysconfigdata_m.py /usr/lib/python3.5/
sudo mv /usr/lib/python3.5/_sysconfigdata_m.py /usr/lib/python3.5/_sysconfigdata.py
サービスでこのエラーが発生しましたが、root権限がありませんでした。コマンドsudoを実行できません。これに対処するにはどうすればよいですか?
この問題は通常、conda環境がインストールされている場合に発生します。 したがって、 python
入力する前に、環境をアクティブ化する必要があります。 環境を有効にするにはsource activate name-of-environment
。 環境を作成するにはconda create --name env1 python=2.7
最も参考になるコメント
私の場合、Ubuntu13.04です。